From 63c7febfdd19a02b71c7b4fa4cb7583c8ff4165d Mon Sep 17 00:00:00 2001 From: Victoria Bialas Date: Wed, 7 Jun 2017 18:36:50 -0700 Subject: [PATCH] added Python, Docker Cloud install/run to known issues and setup notes (#3525) * added Anaconda Python 3.5.2 install/run to known issues Signed-off-by: Victoria Bialas * added notes re: Python 3.x not supported in setup and install Signed-off-by: Victoria Bialas * fixed heading levels in Cloud known errors Signed-off-by: Victoria Bialas * fixed links (moby --> docker), formatting Signed-off-by: Victoria Bialas * fixed on-page link list alignments for toc max/min topics Signed-off-by: Victoria Bialas --- compose/compose-file/compose-file-v1.md | 2 + compose/compose-file/compose-file-v2.md | 2 + compose/compose-file/index.md | 2 + docker-cloud/apps/deploy-to-cloud-btn.md | 4 +- docker-cloud/apps/ports.md | 2 +- docker-cloud/builds/push-images.md | 10 +- docker-cloud/docker-errors-faq.md | 117 +++++++++++++----- ...ovision_a_data_backend_for_your_service.md | 2 +- .../12_data_management_with_volumes.md | 2 +- .../deploy-app/1_introduction.md | 4 +- .../getting-started/deploy-app/2_set_up.md | 7 ++ .../deploy-app/9_load-balance_the_service.md | 2 +- .../infrastructure/cloud-on-aws-faq.md | 45 +++++-- docker-cloud/infrastructure/link-azure.md | 33 +++-- docker-cloud/infrastructure/link-do.md | 22 +++- docker-cloud/infrastructure/link-packet.md | 23 +++- docker-cloud/infrastructure/link-softlayer.md | 18 ++- .../infrastructure/ssh-into-a-node.md | 12 +- docker-cloud/installing-cli.md | 12 +- 19 files changed, 233 insertions(+), 88 deletions(-) diff --git a/compose/compose-file/compose-file-v1.md b/compose/compose-file/compose-file-v1.md index 6d2f45a758..1c83587c61 100644 --- a/compose/compose-file/compose-file-v1.md +++ b/compose/compose-file/compose-file-v1.md @@ -8,6 +8,8 @@ toc_max: 4 toc_min: 1 --- +## Reference and guidelines + These topics describe version 1 of the Compose file format. This is the oldest version. diff --git a/compose/compose-file/compose-file-v2.md b/compose/compose-file/compose-file-v2.md index 24de7f6a9a..75e8bd67ae 100644 --- a/compose/compose-file/compose-file-v2.md +++ b/compose/compose-file/compose-file-v2.md @@ -8,6 +8,8 @@ toc_max: 4 toc_min: 1 --- +## Reference and guidelines + These topics describe version 2 of the Compose file format. For a Compose/Docker Engine compatibility matrix, and detailed guidelines on diff --git a/compose/compose-file/index.md b/compose/compose-file/index.md index 92633872b1..8b14ff1d5b 100644 --- a/compose/compose-file/index.md +++ b/compose/compose-file/index.md @@ -9,6 +9,8 @@ toc_max: 4 toc_min: 1 --- +## Reference and guidelines + These topics describe version 3 of the Compose file format. This is the newest version. diff --git a/docker-cloud/apps/deploy-to-cloud-btn.md b/docker-cloud/apps/deploy-to-cloud-btn.md index 2f662ddf66..c8c1b7d82e 100644 --- a/docker-cloud/apps/deploy-to-cloud-btn.md +++ b/docker-cloud/apps/deploy-to-cloud-btn.md @@ -14,9 +14,9 @@ be used anywhere else. > **Note**: You must be _logged in_ to Docker Cloud for the button to work correctly. If you are not logged in, you'll see a 404 error instead. -This is an example button to deploy our python quickstart: +This is an example button to deploy our [python quickstart](https://github.com/docker/dockercloud-quickstart-python){: target="_blank" class="_"}: - + The button redirects the user to the **Launch new Stack** wizard, with the stack definition already filled with the contents of any of the following files (which diff --git a/docker-cloud/apps/ports.md b/docker-cloud/apps/ports.md index d39f2566f6..4302e4b3cc 100644 --- a/docker-cloud/apps/ports.md +++ b/docker-cloud/apps/ports.md @@ -8,7 +8,7 @@ title: Publish and expose service or container ports In Docker Cloud you can **publish** or **expose** ports in services and containers, just like you can in Docker Engine (as documented -[here](/engine/reference/run/#expose-incoming-ports)). +[here](/engine/reference/run.md#expose-incoming-ports)). * **Exposed ports** are ports that a container or service is using either to provide a service, or listen on. By default, exposed ports in Docker Cloud are diff --git a/docker-cloud/builds/push-images.md b/docker-cloud/builds/push-images.md index baac64e545..8c5f6b6adc 100644 --- a/docker-cloud/builds/push-images.md +++ b/docker-cloud/builds/push-images.md @@ -15,12 +15,12 @@ available in Docker Cloud. If you don't have Swarm Mode enable, images pushed to Docker Hub automatically appear for you on the **Services/Wizard** page on Docker Cloud. > **Note**: You must use Docker Engine 1.6 or later to push to Docker Hub. -Follow the official installation instructions depending on your system. +Follow the [official installation instructions](/engine/installation/){: target="_blank" class="_" } depending on your system. 1. In a terminal window, set the environment variable **DOCKER_ID_USER** as *your username* in Docker Cloud. This allows you to copy and paste the commands directly from this tutorial. - + ``` $ export DOCKER_ID_USER="username" ``` @@ -29,7 +29,7 @@ Follow the official installatio this tutorial to replace `DOCKER_ID_USER` with your Docker Cloud username. 2. Log in to Docker Cloud using the `docker login` command. - + ``` $ docker login ``` @@ -40,13 +40,13 @@ Follow the official installatio 3. Tag your image using `docker tag`. In the example below replace `my_image` with your image's name, and `DOCKER_ID_USER` with your Docker Cloud username if needed. - + ``` $ docker tag my_image $DOCKER_ID_USER/my_image ``` 4. Push your image to Docker Hub using `docker push` (making the same replacements as in the previous step). - + ``` $ docker push $DOCKER_ID_USER/my_image ``` diff --git a/docker-cloud/docker-errors-faq.md b/docker-cloud/docker-errors-faq.md index 6278f1300e..cf05663258 100644 --- a/docker-cloud/docker-errors-faq.md +++ b/docker-cloud/docker-errors-faq.md @@ -4,27 +4,32 @@ keywords: Engine, issues, troubleshoot redirect_from: - /docker-cloud/faq/docker-errors-faq/ title: Known issues in Docker Cloud +toc_max: 2 +toc_min: 1 --- -This is a list of known issues with current versions of Docker Engine along with our recommended workaround. You might encounter these errors in Docker Cloud. +This is a list of known issues with current versions of Docker Engine along with +our recommended workaround. You might encounter these errors in Docker Cloud. + +## Errors and messages --- -## Error message: Get i/o timeout +## Get i/o timeout *Get https://index.docker.io/v1/repositories/\/images: dial tcp: lookup \ on \:53: read udp \:53: i/o timeout* -#### Description +### Description The DNS resolver configured on the host cannot resolve the registry's hostname. -#### GitHub link +### GitHub link N/A -#### Workaround +### Workaround Retry the operation, or if the error persists, use another DNS resolver. You can do this by updating your `/etc/resolv.conf` file with these or other DNS servers: @@ -33,72 +38,126 @@ Retry the operation, or if the error persists, use another DNS resolver. You can --- -## Error message: 500 Server Error: userland proxy +## 500 Server Error: userland proxy *500 Server Error: Internal Server Error ("Cannot start container \: Error starting userland proxy: listen tcp 0.0.0.0:\: bind: address already in use")* -#### Description +### Description -Docker Cloud is trying to deploy a container publishing a port which is already being used by a process on the host (like the SSH server listening in port `22`). +Docker Cloud is trying to deploy a container publishing a port which is already +being used by a process on the host (like the SSH server listening in port +`22`). -#### GitHub link +### GitHub link N/A -#### Workaround +### Workaround -Either choose another port, or SSH into the node and manually stop the process which is using the port that you are trying to use. +Either choose another port, or SSH into the node and manually stop the process +which is using the port that you are trying to use. --- -## Error message: 500 Server Error: bind failed +## 500 Server Error: bind failed *500 Server Error: Internal Server Error ("Cannot start container \: Bind for 0.0.0.0:\ failed: port is already allocated")* -#### Description +### Description -Docker Cloud is trying to deploy a container publishing a port which is already used by another container outside of the scope of Docker Cloud. +Docker Cloud is trying to deploy a container publishing a port which is already +used by another container outside of the scope of Docker Cloud. -#### GitHub link +### GitHub link N/A -#### Workaround +### Workaround -Either choose another port, or SSH into the node and manually stop the container which is using the port that you are trying to use. +Either choose another port, or SSH into the node and manually stop the container +which is using the port that you are trying to use. --- -## Error message: 500 Server Error: cannot start, executable not found +## 500 Server Error: cannot start, executable not found *500 Server Error: Internal Server Error ("Cannot start container \: [8] System error: exec: "\": executable file not found in $PATH")* -#### Description +### Description -The `run` command you specified for the container does not exist on the container. +The `run` command you specified for the container does not exist on the +container. -#### GitHub link +### GitHub link N/A -#### Workaround +### Workaround Edit the service to fix the run command. --- -## Error message: Timeout when pulling image from the registry +## Timeout when pulling image from the registry *Timeout when pulling image from the registry* -#### Description +### Description -Timeouts occur when pulling the image takes more than 10 minutes. This can sometimes be caused by the Docker daemon waiting for a nonexistent process while pulling the required image. +Timeouts occur when pulling the image takes more than 10 minutes. This can +sometimes be caused by the Docker daemon waiting for a nonexistent process while +pulling the required image. -#### GitHub link +### GitHub link -docker/docker#12823 -#### Workaround +[docker/docker#12823](https://github.com/moby/moby/issues/12823){: target="_blank" class="_" } -Restart the `dockercloud-agent` service (`sudo service dockercloud-agent restart`) on the node, or restart the node. \ No newline at end of file +### Workaround + +Restart the `dockercloud-agent` service (`sudo service dockercloud-agent +restart`) on the node, or restart the node. + +--- + +## Docker Cloud CLI does not currently support Python 3 + +### Description + +The `docker-cloud` command line interface (CLI) does not currently support +Python 3.x + + +### GitHub link + +[docker/docker-cloud#21](https://github.com/docker/dockercloud-cli/issues/21){: target="_blank" class="_"} + +### Workarounds + +* Please use Python 2.x with the Docker Cloud CLI. + +--- + +## Problems installing and running Docker Cloud with Python 3 + +### Description + +* Some users have encountered problems installing and/or running +Docker Cloud with Anaconda Python 3.5.2 on a Windows host + +* Some users running Python on Windows have encountered problems +running `docker-cloud` inside a container using `docker run`. + +### GitHub link + +[docker/for-win#368](https://github.com/docker/for-win/issues/368){: target="_blank" class="_" } + +[docker/dockercloud-cli#45](https://github.com/docker/dockercloud-cli/issues/45){: target="_blank" class"_" } + +### Workarounds + +* If you encounter problems with the installation, please use Python 2.x. + +* Before attempting to run `docker-cloud` in a container with `docker run`, +make sure that you [have Linux containers +enabled](/docker-for-windows/index.md#switch-between-windows-and-linux-containers){: target="_blank" class"_" }. diff --git a/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service.md b/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service.md index 8aee37acf4..41f945482d 100644 --- a/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service.md +++ b/docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service.md @@ -18,7 +18,7 @@ data backend. ## Provision the service The first step is to provision the data service itself. Run this command to -create and run the Redis service using the redis +create and run the Redis service using the [redis](https://github.com/docker-library/redis/){: target="_blank" class="_"} image: ```none diff --git a/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes.md b/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes.md index eb9cb656d0..8f7bf88aae 100644 --- a/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes.md +++ b/docker-cloud/getting-started/deploy-app/12_data_management_with_volumes.md @@ -65,7 +65,7 @@ redis --redeploy This command defines two new environment variables in the **redis** service and then redeploys the service so they take effect. You can learn more about our -open source `redis` image here. +open source `redis` image [here](https://github.com/docker-library/redis/){: target="_blank" class="_"}. With these settings, Redis can create and store its data in a volume. The volume is in `/data`. diff --git a/docker-cloud/getting-started/deploy-app/1_introduction.md b/docker-cloud/getting-started/deploy-app/1_introduction.md index 73eab1a5d9..2a775f3b81 100644 --- a/docker-cloud/getting-started/deploy-app/1_introduction.md +++ b/docker-cloud/getting-started/deploy-app/1_introduction.md @@ -15,9 +15,9 @@ multi-container services in Docker Cloud. This tutorial assumes that you have: -- a free Docker ID account. +- a free [Docker ID account](https://hub.docker.com/){: target="_blank" class="_"}. - at least one node running. If you don't have any nodes set up in Docker Cloud yet, [start here](../../getting-started/your_first_node.md) to set these up. -- Docker Engine installed - see the installation guides for macOS, Windows and Linux. You'll use the `docker login` command to connect to your account in Docker Cloud, so you can run `docker-cloud` CLI commands. +- Docker Engine installed - see the installation guides for [macOS, Windows and Linux](/engine/installation/){: target="_blank" class="_"}. You'll use the `docker login` command to connect to your account in Docker Cloud, so you can run `docker-cloud` CLI commands. ## What's next? diff --git a/docker-cloud/getting-started/deploy-app/2_set_up.md b/docker-cloud/getting-started/deploy-app/2_set_up.md index 30aa46b585..a797117904 100644 --- a/docker-cloud/getting-started/deploy-app/2_set_up.md +++ b/docker-cloud/getting-started/deploy-app/2_set_up.md @@ -36,6 +36,13 @@ package manager, which is a package manager for `setuptools`, but will need to upgrade per the instructions [here](https://packaging.python.org/installing/). + > The Docker Cloud CLI does not currently support Python 3.x. + > + > We recommend using Python 2.x with Docker Cloud. To learn more, + see the Python and CLI issues described in + [Known issues in Docker Cloud](/docker-cloud/docker-errors-faq.md). + {: .note-vanilla} + * If you do not have Python or `pip` installed, you can either [install Python](https://wiki.python.org/moin/BeginnersGuide/Download) or use this [standalone pip diff --git a/docker-cloud/getting-started/deploy-app/9_load-balance_the_service.md b/docker-cloud/getting-started/deploy-app/9_load-balance_the_service.md index b2ed8cd369..585918e267 100644 --- a/docker-cloud/getting-started/deploy-app/9_load-balance_the_service.md +++ b/docker-cloud/getting-started/deploy-app/9_load-balance_the_service.md @@ -14,7 +14,7 @@ the application. In this example, you need a load balancer that will forward incoming requests to both container #1 (web-1) and container #2 (web-2). For this tutorial, you'll -use Docker Cloud's HAProxy image to load balance, but you could also use other custom load balancers. +use [Docker Cloud's HAProxy image](ttps://github.com/moby/mobycloud-haproxy){: target="_blank" class="_"} to load balance, but you could also use other custom load balancers. You can configure and run the `haproxy` load balancer service from the command line using a command like the example below. (If you are using the Go quickstart, edit the `link-service` value before running the command.) diff --git a/docker-cloud/infrastructure/cloud-on-aws-faq.md b/docker-cloud/infrastructure/cloud-on-aws-faq.md index ead5ed6b17..9cc85c0770 100644 --- a/docker-cloud/infrastructure/cloud-on-aws-faq.md +++ b/docker-cloud/infrastructure/cloud-on-aws-faq.md @@ -6,21 +6,30 @@ redirect_from: title: Use Docker Cloud on AWS --- -This section answers frequently asked questions about using Docker Cloud with Amazon Web Services (AWS). +This section answers frequently asked questions about using Docker Cloud with +Amazon Web Services (AWS). ## I can't get my account to link to Docker Cloud. How do I troubleshoot it? -To validate your AWS Security Credentials, Docker Cloud tries to dry-run an instance on every region. Credentials are marked as valid if the operation succeeds at least in one of the regions. If you get the following message `Invalid AWS credentials or insufficient EC2 permissions` follow these steps to troubleshoot it: +To validate your AWS Security Credentials, Docker Cloud tries to dry-run an +instance on every region. Credentials are marked as valid if the operation +succeeds at least in one of the regions. If you get the following message +`Invalid AWS credentials or insufficient EC2 permissions` follow these steps to +troubleshoot it: -1. Download AWS CLI. -2. Configure the CLI with your security credentials. +1. [Download AWS CLI](https://aws.amazon.com/cli/){: target="_blank" class="_"}. +2. [Configure the CLI](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html){: target="_blank" class="_"} with your security credentials. 2. Run the following command: ``` aws ec2 run-instances --dry-run --image-id ami-4d883350 --instance-type m3.medium ``` -This will try to dry-run an Ubuntu 14.04 LTS 64-bit in `sa-east-1` (Sao Paulo, South America). You can look for the AMI in the region you want to deploy to here). It should show you the error message. If your configuration is correct, you will see the following message: +This will try to dry-run an Ubuntu 14.04 LTS 64-bit in `sa-east-1` (Sao Paulo, +South America). You can look for the AMI in the region you want to deploy to +[here](http://cloud-images.ubuntu.com/locator/ec2/){: target="_blank" +class="_"}. It should show you the error message. If your configuration is +correct, you will see the following message: ``` A client error (DryRunOperation) occurred when calling the RunInstances operation: Request would have succeeded, but DryRun flag is set. @@ -28,7 +37,12 @@ A client error (DryRunOperation) occurred when calling the RunInstances operatio ## "AWS returned an error: unauthorized operation" using instance profiles to deploy node clusters -This error occurs when you are using an instance profile that has more permissions than the IAM user you are using with Docker Cloud. You can fix this by adding the `"Action":"iam:PassRole"` permission to the IAM policy for the `dockercloud` service user. You can read more about this here. +This error occurs when you are using an instance profile that has more +permissions than the IAM user you are using with Docker Cloud. You can fix this +by adding the `"Action":"iam:PassRole"` permission to the IAM policy for the +`dockercloud` service user. You can read more about this +[here](http://blogs.aws.amazon.com/security/post/Tx3M0IFB5XBOCQX/Granting-Permission-to-Launch-EC2-Instances-with-IAM-Roles-PassRole-Permission){: +target="_blank" class="_"}. ## What objects does Docker Cloud create in my EC2 account? @@ -86,9 +100,14 @@ with some examples: ### We allow Docker Cloud to manage VPCs and subnets -Docker Cloud can take over VPC and subnet management for you when you deploy a node cluster. +Docker Cloud can take over VPC and subnet management for you when you deploy a +node cluster. -For example, assume this is the first time you're deploying a node cluster. You delegate deployment management to Docker Cloud in the Sao Paulo (South America, `sa-east-1`) region. You don't send any `provider_options` using the API, and you leave the VPC, subnet, security groups and IAM role values set to their defaults on the dashboard. In this situation: +For example, assume this is the first time you're deploying a node cluster. You +delegate deployment management to Docker Cloud in the Sao Paulo (South America, +`sa-east-1`) region. You don't send any `provider_options` using the API, and +you leave the VPC, subnet, security groups and IAM role values set to their +defaults on the dashboard. In this situation: 1. Docker Cloud looks for a VPC called `dc-vpc`. The VPC does not exist on the first try, so Docker Cloud creates it and a `dc-gateway`, which attaches to the VPC. 2. Docker Cloud retrieves all subnets in the VPC. No subnets exist on the first try. @@ -149,8 +168,8 @@ If you chose a custom security group, remember to open port 22. ## How do I back up my Docker container volumes to AWS S3? -Use the dockercloud/dockup utility image to back up your volumes. -You only need to run it taking the volumes of the container you want to back up -with `volumes-from` and pass it the environment configuration of the container. -You can find more information in its Github repository. +Use the [dockercloud/dockup](https://hub.docker.com/r/dockercloud/dockup/){: +target="_blank" class="_"} utility image to back up your volumes. You only need +to run it taking the volumes of the container you want to back up with +`volumes-from` and pass it the environment configuration of the container. You +can find more information in its Github repository. diff --git a/docker-cloud/infrastructure/link-azure.md b/docker-cloud/infrastructure/link-azure.md index 1fc663567e..9cfd727014 100644 --- a/docker-cloud/infrastructure/link-azure.md +++ b/docker-cloud/infrastructure/link-azure.md @@ -8,11 +8,16 @@ title: Link a Microsoft Azure account notoc: true --- -You can link your Microsoft Azure account to your Docker Cloud account to deploy **nodes** and **node clusters** using Docker Cloud's Dashboard, API, or CLI. You must link your Azure account so that Docker Cloud can interact with Azure on your behalf to create and manage your **nodes** (virtual machines). +You can link your Microsoft Azure account to your Docker Cloud account to deploy +**nodes** and **node clusters** using Docker Cloud's Dashboard, API, or CLI. You +must link your Azure account so that Docker Cloud can interact with Azure on +your behalf to create and manage your **nodes** (virtual machines). ## How to create the link -Navigate to **Account info \> Cloud Providers**. You'll see a list of all the providers that you can link to Docker Cloud. Click **Add credentials** next to Microsoft Azure: +Navigate to **Account info \> Cloud Providers**. You'll see a list of all the +providers that you can link to Docker Cloud. Click **Add credentials** next to +Microsoft Azure: ![](images/azure-link-account.png) @@ -20,24 +25,34 @@ You'll see the following screen: ![](images/azure-link-modal.png) -First, click **Download management certificate** to download the public certificate generated for your Docker Cloud account. +First, click **Download management certificate** to download the public +certificate generated for your Docker Cloud account. -Then, in another tab go to the Azure Portal at [https://manage.windowsazure.com/](https://manage.windowsazure.com/). +Then, in another tab go to the Azure Portal at +[https://manage.windowsazure.com/](https://manage.windowsazure.com/). > **Note**: At this time, you must use the old Azure portal to upload management certificates. -Scroll to the bottom of the left navigation bar and click **Settings**. In the page that loads, click the **Management certificates** tab, then click **Upload** near the bottom of the screen: +Scroll to the bottom of the left navigation bar and click **Settings**. In the +page that loads, click the **Management certificates** tab, then click +**Upload** near the bottom of the screen: ![](images/azure-portal-subscriptions.png) -Still in Azure, in the **Upload a management certificate** dialog, select the certificate you downloaded from Docker Cloud in the **File** field, and choose the subscription you want to use with Docker Cloud: +Still in Azure, in the **Upload a management certificate** dialog, select the +certificate you downloaded from Docker Cloud in the **File** field, and choose +the subscription you want to use with Docker Cloud: ![](images/azure-upload-certificate.png) -Once uploaded, copy the **subscription ID** (which looks like `aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee`). +Once uploaded, copy the **subscription ID** (which looks like +`aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee`). -Go back to Docker Cloud and enter the subscription ID in the **Azure credentials** dialog, and click **Save credentials**. +Go back to Docker Cloud and enter the subscription ID in the **Azure +credentials** dialog, and click **Save credentials**. ## What's next? -You're ready to start using Microsoft Azure as the infrastructure provider for Docker Cloud! If you came here from the tutorial, click here to [continue the tutorial and deploy your first node](../getting-started/your_first_node.md). +You're ready to start using Microsoft Azure as the infrastructure provider for +Docker Cloud! If you came here from the tutorial, click here to [continue the +tutorial and deploy your first node](../getting-started/your_first_node.md). diff --git a/docker-cloud/infrastructure/link-do.md b/docker-cloud/infrastructure/link-do.md index 668da01ff3..073fddc1a8 100644 --- a/docker-cloud/infrastructure/link-do.md +++ b/docker-cloud/infrastructure/link-do.md @@ -8,18 +8,26 @@ redirect_from: title: Link a DigitalOcean account --- -You can link your DigitalOcean account to your Docker Cloud account to deploy **nodes** and **node clusters** using Docker Cloud's Dashboard, API, and CLI. You must link your DigitalOcean account so that Docker Cloud can interact with DigitalOcean on your behalf to create and manage your **nodes** (droplets). +You can link your DigitalOcean account to your Docker Cloud account to deploy +**nodes** and **node clusters** using Docker Cloud's Dashboard, API, and CLI. +You must link your DigitalOcean account so that Docker Cloud can interact with +DigitalOcean on your behalf to create and manage your **nodes** (droplets). -If you don't have a **DigitalOcean** account, you can sign up with this link to get a $10 credit: [https://www.digitalocean.com/?refcode=bc0c34035aa5](https://www.digitalocean.com/?refcode=bc0c34035aa5) +If you don't have a **DigitalOcean** account, you can sign up with this link to +get a $10 credit: +[https://www.digitalocean.com/?refcode=bc0c34035aa5](https://www.digitalocean.com/?refcode=bc0c34035aa5) ## Link your DigitalOcean Account -To link your DigitalOcean account so you can launch **nodes** using Docker Cloud, -navigate to **Account info \> Cloud Providers**. You'll see a list of all the providers that you can link to Docker Cloud. Click **Link account** next to DigitalOcean. +To link your DigitalOcean account so you can launch **nodes** using Docker +Cloud, navigate to **Account info \> Cloud Providers**. You'll see a list of all +the providers that you can link to Docker Cloud. Click **Link account** next to +DigitalOcean. ![](images/do-link-account.png) -You'll be redirected to a DigitalOcean login screen. Use your **DigitalOcean** credentials to log in to your account. +You'll be redirected to a DigitalOcean login screen. Use your **DigitalOcean** +credentials to log in to your account. ![](images/do-login-screen.png) @@ -29,4 +37,6 @@ Once you log in, a message appears prompting you to confirm the link. ## What's next? -You're ready to start using DigitalOcean as the infrastructure provider for Docker Cloud! If you came here from the tutorial, click here to [continue the tutorial and deploy your first node](../getting-started/your_first_node.md). +You're ready to start using DigitalOcean as the infrastructure provider for +Docker Cloud! If you came here from the tutorial, click here to [continue the +tutorial and deploy your first node](../getting-started/your_first_node.md). diff --git a/docker-cloud/infrastructure/link-packet.md b/docker-cloud/infrastructure/link-packet.md index 9f8bb54cde..079558f29f 100644 --- a/docker-cloud/infrastructure/link-packet.md +++ b/docker-cloud/infrastructure/link-packet.md @@ -8,22 +8,33 @@ title: Link a Packet account notoc: true --- -You can register your [Packet](https://www.packet.net/promo/docker-cloud/) account credentials in your Docker Cloud account to deploy **nodes** and **node clusters** using Docker Cloud's Dashboard, API, and CLI. Your Packet API key is required so Docker Cloud can interact with Packet on your behalf to create and manage your **nodes** (Packet devices). +You can register your [Packet](https://www.packet.net/promo/docker-cloud/) +account credentials in your Docker Cloud account to deploy **nodes** and **node +clusters** using Docker Cloud's Dashboard, API, and CLI. Your Packet API key is +required so Docker Cloud can interact with Packet on your behalf to create and +manage your **nodes** (Packet devices). -To link your Packet account so you can launch **nodes** from Docker Cloud, navigate to **Account info \> Cloud Providers**. Click **Add credentials**. +To link your Packet account so you can launch **nodes** from Docker Cloud, +navigate to **Account info \> Cloud Providers**. Click **Add credentials**. ![](images/packet-link-account.png) -If you already have an API key to use with Docker Cloud, enter it in the `Authentication token`. +If you already have an API key to use with Docker Cloud, enter it in the +`Authentication token`. -Otherwise, open a new tab and log into your Packet account. Click **API Keys** from the left menu. Then, click the **+** button at the bottom right corner, enter a description for your new API key, and click **Generate**. +Otherwise, open a new tab and log into your Packet account. Click **API Keys** +from the left menu. Then, click the **+** button at the bottom right corner, +enter a description for your new API key, and click **Generate**. ![](images/packet-add-apikey.png) Copy the **Token** of the new API key. -Go back to the Docker Cloud tab and paste the new API key in the `Authentication token` field of the `Packet credentials` dialog. +Go back to the Docker Cloud tab and paste the new API key in the `Authentication +token` field of the `Packet credentials` dialog. ## What's next? -You're ready to start using Packet as the infrastructure provider for Docker Cloud! If you came here from the tutorial, click here to [continue the tutorial and deploy your first node](../getting-started/your_first_node.md). +You're ready to start using Packet as the infrastructure provider for Docker +Cloud! If you came here from the tutorial, click here to [continue the tutorial +and deploy your first node](../getting-started/your_first_node.md). diff --git a/docker-cloud/infrastructure/link-softlayer.md b/docker-cloud/infrastructure/link-softlayer.md index 88027cc59d..2b77199038 100644 --- a/docker-cloud/infrastructure/link-softlayer.md +++ b/docker-cloud/infrastructure/link-softlayer.md @@ -8,21 +8,27 @@ title: Link a SoftLayer account --- You can register your SoftLayer account credentials in your Docker Cloud account -to deploy **nodes** using Docker Cloud's -Dashboard, API, or CLI. Docker Cloud uses your SoftLayer username and API key to interact with SoftLayer on your behalf to create and manage your **nodes** (virtual servers). +to deploy **nodes** using Docker Cloud's Dashboard, API, or CLI. Docker Cloud +uses your SoftLayer username and API key to interact with SoftLayer on your +behalf to create and manage your **nodes** (virtual servers). -Although any SoftLayer account with the right privileges will work, we -recommend creating a new **dockercloud-user** user. If you have already created a service user, or do not wish to do so, continue to [Add SoftLayer Account Credentials](link-softlayer.md#add-softlayer-account-credentials). +Although any SoftLayer account with the right privileges will work, we recommend +creating a new **dockercloud-user** user. If you have already created a service +user, or do not wish to do so, continue to [Add SoftLayer Account +Credentials](link-softlayer.md#add-softlayer-account-credentials). ### Create dockercloud-user in SoftLayer -Go to the **Users** section in SoftLayer (using the following URL): [https://control.softlayer.com/account/users](https://control.softlayer.com/account/users) +Go to the **Users** section in SoftLayer (using the following URL): +[https://control.softlayer.com/account/users](https://control.softlayer.com/account/users) Click **Add User**: ![](images/softlayer-step-1.png) -Fill out the **Add User - Profile** form, and enter `dockercloud-user` in the username field. Docker Cloud uses the service user's API key, so the password you set is less important. Click **Add User**. +Fill out the **Add User - Profile** form, and enter `dockercloud-user` in the +username field. Docker Cloud uses the service user's API key, so the password +you set is less important. Click **Add User**. ![](images/softlayer-step-2.png) diff --git a/docker-cloud/infrastructure/ssh-into-a-node.md b/docker-cloud/infrastructure/ssh-into-a-node.md index bd50fef67d..9649ab0460 100644 --- a/docker-cloud/infrastructure/ssh-into-a-node.md +++ b/docker-cloud/infrastructure/ssh-into-a-node.md @@ -8,11 +8,17 @@ redirect_from: title: SSH into a Docker Cloud-managed node --- -You can add a public SSH key to the *authorized_keys* file in each of your nodes so you can access Docker Cloud provisioned nodes. The quickest way to do this is to run our **dockercloud/authorizedkeys)** container image. +You can add a public SSH key to the *authorized_keys* file in each of your nodes +so you can access Docker Cloud provisioned nodes. The quickest way to do this is +to run our **dockercloud/authorizedkeys)** container image. ## Create pair of keys -First, generate a keypair using `ssh-keygen -t rsa`. If you have an existing keypair you prefer to use, you can skip this step, copy the public key to your clipboard and continue on to [create the authorizedkeys stack](ssh-into-a-node.md#create-a-stack-in-docker-cloud). +First, generate a keypair using `ssh-keygen -t rsa`. If you have an existing +keypair you prefer to use, you can skip this step, copy the public key to your +clipboard and continue on to [create the authorizedkeys +stack](ssh-into-a-node.md#create-a-stack-in-docker-cloud). ```none $ ssh-keygen -t rsa @@ -52,7 +58,7 @@ Next, we'll run the **authorizedkeys** service. You can create a new stack in Docker Cloud and enter the following stackfile to create the service manually. You can also click the button below to automatically create a new stack in Docker Cloud with the **authorizedkeys** service mostly configured. (Either way you still need to add your public key.) - + ```yml diff --git a/docker-cloud/installing-cli.md b/docker-cloud/installing-cli.md index ccd2a9992d..032462d163 100644 --- a/docker-cloud/installing-cli.md +++ b/docker-cloud/installing-cli.md @@ -41,6 +41,13 @@ package manager, which is a package manager for `setuptools`, but will need to upgrade per the instructions [here](https://packaging.python.org/installing/). +> The Docker Cloud CLI does not currently support Python 3.x. +> +> we recommend using Python 2.x. To learn more, +see the Python and CLI issues described in +[Known issues in Docker Cloud](/docker-cloud/docker-errors-faq.md). +{: .note-vanilla} + * If you do not have Python or `pip` installed, you can either [install Python](https://wiki.python.org/moin/BeginnersGuide/Download) or use this [standalone pip @@ -60,8 +67,7 @@ python-dev` #### Install on macOS We recommend installing Docker CLI for macOS using Homebrew. If you don't have -`brew` installed, follow the instructions here: http://brew.sh +`brew` installed, follow the instructions here: [http://brew.sh](http://brew.sh){: target="_blank" class="_"} Once Homebrew is installed, open Terminal and run the following command: @@ -121,7 +127,7 @@ For example: $ DOCKERCLOUD_NAMESPACE=myteam docker container ps ``` -To learn more, see the [Docker Cloud CLI README](https://github.com/moby/mobycloud-cli#namespace). +To learn more, see the [Docker Cloud CLI README](https://github.com/docker/dockercloud-cli#namespace). ## Upgrade the docker-cloud CLI