The Wayback Machine - https://web.archive.org/web/20160305023945/https://docs.docker.com/docker-cloud/tutorials/byoh/
Get Started
Quickstart containers Understand the architecture
Migrate to Engine 1.10 Breaking changes Deprecated Engine Features FAQ
Release Notes
Learn about Dockerfiles and Docker Cloud Back up data volumes Create a proxy or load balancer Install the Deploy to Docker Cloud button Integrate with Slack Push images to Docker Cloud SSHing into a Docker Cloud-managed node Upgrade Docker Engine on a node Use the Docker Cloud Agent Using the Docker Cloud CLI
API reference
Quickstart contribution FAQ for contributors Where to chat or get help Style guide for Docker documentation

Use the Docker Cloud Agent

As well as deploying and managing hosts on the supported cloud providers, Docker Cloud can use any Linux host as a node to deploy containers to. For this, we need you to install our Docker Cloud Agent, which will allow Docker Cloud to remotely manage your host.

Please note that Docker Cloud Agent comes with its own docker binary and will automatically remove any prior installation of the Docker Engine packages when being installed. Please refer to the Known Limitations section below for more information.

Bringing your own node

Go to the Node dashboard and click on Bring your own node.

A command will be generated which includes a unique token tied to your account for node registration. Just execute this command in your Linux host and Docker Cloud Agent will be installed and configured.

If the installation and registration is successful, the web UI will change showing the new node hostname. The node is now ready to accept container deployments!

Using the CLI to bring your own node

You can generate the command needed to install and configure the Docker Cloud Agent by executing:

$ docker-cloud node byo

You will get the command that you have to use to bring your own node, including the token:

Docker Cloud lets you use your own servers as nodes to run containers. For this you have to install our agent.
Run the following command on your server:

	curl -Ls https://get.cloud.docker.com/ | sudo -H sh -s 63ad1c63ec5d431a9b31133e37e8a614

Execute this command in your host and it will appear in the list of nodes automatically.

Uninstalling Docker Cloud Agent

To uninstall dockercloud-agent from your host, execute the following command:

$ apt-get remove dockercloud-agent

Upgrading Docker Cloud Agent

To upgrade dockercloud-agent execute the following command from your BYON host:

$ apt-get update && apt-get install -y dockercloud-agent

Restarting Docker Cloud Agent

To restart dockercloud-agent execute the following command from your BYON host:

$ service dockercloud-agent restart

Known limitations

Firewall requisites

The following ports must be opened in any firewalls:

  • 6783/tcp and 6783/udp: for the node to join the private overlay network for containers in other nodes.

The following ports are recommended to be opened in any firewalls:

  • 2375/tcp: for Docker Cloud to communicate with the Docker daemon running in the node. If port 2375 is not accessible, Docker Cloud will attempt to communicate with node through a secure reverse tunnel.

Of course, you will need to open any ports that you are planning to publish in your services.

Supported Linux distros

Docker Cloud Agent has been tested on:

  • Ubuntu 14.04, 15.04, 15.10
  • Centos 7
  • Debian 8
  • Fedora 21, 22, 23
  • Red Hat Enterprise Linux 7

We are working to make it available to more platforms soon.

Installing Docker Cloud Agent on a node with Docker already installed

If you install dockercloud-agent having already installed the native Docker Engine packages, apt-get will remove them prior to installing dockercloud-agent. This is due to the fact that dockercloud-agent comes with the docker binary already built in. The installation script will also try to install the kernel headers required for AUFS support.

  • If you were already using the AUFS storage driver before installing dockercloud-agent, your existing containers and images will appear automatically after installing it.
  • If you were using devicemapper or any other storage driver, and AUFS support was successfully installed (you can check this by running docker info | grep Storage), you won’t be able to use your existing containers and images.

Executing docker locally with Docker Cloud Agent installed

Once you install the Docker Cloud Agent, you can still use the docker command as you would otherwise. For example, running docker ps will show you a list of containers running.

Please note that there will be containers running from images starting with dockercloud/ which you may not recognize. These are system containers that Docker Cloud runs to offer its service. All of these come from open source repositories available at GitHub.

Mar 5, 2016 at 2:08am (PST) { "docker/apidocs": { "ref": "master", "repos": [ "[email protected]:docker/dhe-deploy.git" ], "sha": "70ac255c88cde0ea6ecf3fcb812783dea7e09da6" }, "docker/cloud-api-docs": { "ref": "master", "repos": [ "[email protected]:docker/cloud-docs.git" ], "sha": "c0539949c40be9abb193271e46d2ea88196f122d" }, "docker/cloud-api-docs-layout": { "ref": "master", "repos": [ "[email protected]:docker/cloud-docs.git" ], "sha": "c0539949c40be9abb193271e46d2ea88196f122d" }, "docker/compose": { "ref": "docs", "repos": [ "[email protected]:docker/compose.git" ], "sha": "9da9555f10abe628e7742476af3f10bd89f68b75" }, "docker/docker": { "ref": "docs", "repos": [ "[email protected]:docker/docker.git" ], "sha": "0e63b073ac8f33335a4d4df3f2aa22120e0b7f43" }, "docker/docker-cloud": { "ref": "master", "repos": [ "[email protected]:docker/cloud-docs.git" ], "sha": "c0539949c40be9abb193271e46d2ea88196f122d" }, "docker/docker-hub": { "ref": "master", "repos": [ "[email protected]:docker/hub2-demo.git" ], "sha": "73ccb2d678ab0cd83067f0c7ef6f3923d750c7bd" }, "docker/docker-trusted-registry": { "ref": "master", "repos": [ "[email protected]:docker/dhe-deploy.git" ], "sha": "70ac255c88cde0ea6ecf3fcb812783dea7e09da6" }, "docker/docs-base": { "ref": "master", "repos": [ "[email protected]:docker/docs-base.git" ], "sha": "5a4cfac3c4d156eda45080c7dcdd2a4c41e08067" }, "docker/kitematic": { "ref": "docs", "repos": [ "[email protected]:docker/kitematic.git" ], "sha": "856a989d834f7fcbcb9bba687539fb159228f6b8" }, "docker/machine": { "ref": "docs", "repos": [ "[email protected]:docker/machine.git" ], "sha": "21edf30337dc5996b5d785ce54d68b4020242f57" }, "docker/notary": { "ref": "docs", "repos": [ "[email protected]:docker/notary.git" ], "sha": "dfeb51f54f2b0cdf20cb55427b7cc8ea2d1cdd0a" }, "docker/opensource": { "ref": "master", "repos": [ "[email protected]:docker/opensource.git" ], "sha": "b994cdd1f74b0aeb0b51fda1249a0c4c8efbf0d0" }, "docker/registry": { "ref": "master", "repos": [ "[email protected]:docker/distribution.git" ], "sha": "33c4a6522e9247913fa0a9a2d78ef9a7aa98465f" }, "docker/swarm": { "ref": "docs", "repos": [ "[email protected]:docker/swarm.git" ], "sha": "b43a2c21c4017726cd9cb17ef9b16f2eef6d1159" }, "docker/toolbox": { "ref": "master", "repos": [ "[email protected]:docker/toolbox.git" ], "sha": "de267d701f94035549ea03e68047d85534286f85" }, "docker/tutorials": { "ref": "master", "repos": [ "[email protected]:docker/tutorials.git" ], "sha": "7af2622fe68a30684d971e4bf3ca7988902e5e26" }, "docker/ucp": { "ref": "master", "repos": [ "[email protected]:docker/orca.git" ], "sha": "8cd10936a1e063b9be0d5c04de7311a1b2cb25cf" }, "docs.docker.com": { "ref": "refs/heads/v1.10-030316", "repos": [ "[email protected]:moxiegirl/docs.docker.com.git", "[email protected]:docker/docs.docker.com.git" ], "sha": "b43886e4078ce481b06b4cee5c922f5bcc5c629f" } }