I tried searching the docs on how to upgrade Docker for each of the distributions we support, but I couldn't find anything.
Some users will be able to upgrade on their own, and if you don't care about downtime for your applications, you can pretty much upgrade/downgrade by uninstalling and installing the version you want.
What I'm searching for is:
I would say that anyone trying to run Docker in production cares about it. More specifically if you're running Docker EE standard/advanced this is really critical.
Since UCP only supports specific Docker versions, when teaching how to upgrade UCP we tell users to start by upgrading Docker, but there's no guidance on how to do this.
The swarm mode upgrade document is also needed. In the swarm mode cluster, cluster states be managed by nodes. How to keep the states while docker upgrading.
Thanks @thaJeztah for some upgrade suggestions:
The recommended approach is to first upgrade manager nodes (one at a time, so that you don't loose quorum); after manager nodes are upgraded, upgrade your worker nodes.
Depending on your situation, you may want to drain nodes before upgrading (
docker node update --availability=drain ..), which will stop the tasks on that node, and re-deploy them to another node in the cluster (assuming there's enough resources to deploy the tasks elsewhere). After upgrading, you can make the node available again (--availability=active)
@thaJeztah, @andrewhsu do we have any guidelines in terms of upgrade policy for the engine? As an example can I skip versions when upgrading (e.g. 17.03 -> 18.x), or do I need to upgrade incrementally?
Upgrade instructions now exist. Closing ticket.
Most helpful comment
@thaJeztah, @andrewhsu do we have any guidelines in terms of upgrade policy for the engine? As an example can I skip versions when upgrading (e.g. 17.03 -> 18.x), or do I need to upgrade incrementally?
See what we have for DTR