Docker Cloud uses an agent and system containers to deploy and manage nodes (hosts) on your behalf. All nodes accessible to your account are connected by an overlay or mesh network, regardless of host or cloud service provider.
When you use Docker Cloud to deploy nodes on a hosted provider, the service stores your cloud provider credentials and then deploys nodes for you using the services’ API to perform actions on your behalf.
If you are using Bring Your Own Host, Docker Cloud provides a script that:
Once this connection is established, the Docker Cloud Agent manages the node and performs updates when the user requests them, and can also create and maintain a reverse tunnel to Docker Cloud if firewall restrictions prevent a direct connection.
Docker Cloud communicates with the Docker daemon running in the node using the following IPs, on port 2375/tcp.
If the port is not accessible, Docker Cloud creates a secure reverse tunnel from the nodes to Docker Cloud.
When you add a node on Docker Cloud, the node joins the Weave private overlay network for containers in other nodes by connecting on ports 6783/tcp and 6783/udp. (You should make sure these ports are open.)
Nodes managed by Docker Cloud are connected to any other nodes owned by the user or organization, regardless of the host or service provider.
Docker Cloud uses system containers to do the following:
Remove Terminated
images (images not used by a container for 30 minutes).
Note: If this is not sufficient for your needs, you can add a logging container to your services. In future versions of Docker Cloud, you will be able to add a logging driver.
Docker Cloud creates a per-user overlay network which connects all containers across all of the user’s hosts. This network connects all of your containers on the 10.7.0.0/16
subnet, and gives every container a local IP. This IP persists on each container even if the container is redeployed and ends up on a different host. Every container can reach any other container on any port within the subnet.
The easiest way to access nodes is to ensure that your public ssh key is available to them. You can quickly copy your public key to all of the nodes in your Docker Cloud account by running the authorizedkeys container. See SSHing into a node for more information.
The pages in this section explain how to link Docker Cloud to your infrastructure providers or your own hosts, and how to manage your nodes from within Docker Cloud.
Learn how to Upgrade Docker Engine on a node