Deploy the app as a Docker Cloud service

Estimated reading time: 2 minutes

In this step you will deploy the app as a Docker Cloud Service. Remember that a service is a group of containers of the same image:tag.

Deploy app with Docker Engine installed locally

Note: By default, the docker-cloud CLI uses your default user namespace, meaning the repositories, nodes, and services associated with your individual Docker ID account name. To use the CLI to interact with objects that belong to an organization, prefix these commands with DOCKERCLOUD_NAMESPACE=my-organization. See the CLI documentation for more information.

Start by running the service.

$ docker-cloud service run -p 80 --name web $DOCKER_ID_USER/quickstart-python

or

$ docker-cloud service run -p 80 --name web $DOCKER_ID_USER/quickstart-go

The run command

The run command creates and runs the service using the image you chose. The -p 80 flag publishes port 80 in the container so that it is publicly accessible, and maps it to a dynamically assigned port in the node.

It might take a minute or two to get your service up and running. Once it completes the startup process, it will be in the running state.

To check the status of your service from the CLI use the docker-cloud service ps command.

$ docker-cloud service ps
NAME                 UUID      STATUS     IMAGE                                          DEPLOYED
web                  68a6fb2c  ▶ Running  my-username/quickstart-python:latest           1 hour ago

Make sure that the STATUS for your service is Running. Next, visit the app at the URL generated by its service name. Find this URL by running docker-cloud container ps --no-trunc.

$ docker-cloud container ps --no-trunc
NAME                   UUID      STATUS     IMAGE                                          RUN COMMAND          EXIT CODE  DEPLOYED      PORTS
web-1                  6c89f20e  ▶ Running  my-username/quickstart-python:latest           python app.py                   1 minute ago  web-1.my-username.cont.dockerapp.io:49162->80/tcp

The PORTS column contains the URL you can use to see the service running in a browser. Copy the URL, open a browser, and go to that URL. In the example above, the URL is web-1.my-username.cont.dockerapp.io:49162.

If you don’t want to leave the command line, you can use the curl command instead.

$ curl web-1.$DOCKER_ID_USER.cont.dockerapp.io:49162
Hello World!</br>Hostname: web-1</br>Counter: Redis Cache not found, counter disabled.%

Tip: Your Docker ID is used as part of the namespace when running containers in Docker Cloud. In the example above, instead of copying the URL entirely, you can see we used the $DOCKER_ID_USER variable.

CONGRATULATIONS! You’ve deployed your first service using Docker Cloud.

What’s Next?

Define environment variables.

Python, deploy, Cloud