Table of Contents

Docker - Containers - Run a Docker Container

Launching a container is simple as docker run + the image name you would like to run + the command to run within the container.

If the image doesn't exist on your local machine, Docker will attempt to fetch it from the public image registry.

Containers can be run in different modes:


Run a Container in Attached Mode

docker container run nginx

NOTE: You can press CTRL + C to stop the running Nginx container.


Run a Container Under a Specific Name

docker container run --name docker-nginx nginx

where:


Run a Container in Detached Mode

Runs the container in the background.

docker container run --name docker-nginx -d nginx

Verify the running container:

docker ps

returns:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
0bb07d011cc9        nginx               "/docker-entrypoint.…"   7 minutes ago       Up 7 minutes        80/tcp              docker-nginx

Run a Container in Interactive Mode

docker container run --name docker-nginx -it nginx /bin/bash

Run a Container and Publish Container Ports

docker container run --name docker-nginx -d -p 8080:80 nginx

where:

NOTE: You can verify the port 8080 using the URL http://docker-host-ip:8080 in your web browser.

An optional host-ip can also be set:

docker container run -p [host-ip]:[host-port]:[container-port]

Remove the Container After Exit

docker container run --rm mongo

Run a Container and Mount Host Volumes

By default, Docker containers do not save the data. When a container is stopped and the process is completed, all data generated by the container is removed.

Sometimes you may need to run a container that requires persistent storage. In that case, you can use Docker volume to make the data persist and also share it across the multiple containers.

docker container run --name docker-nginx -d -p 8080:80 -v /mnt:/var/www nginx

NOTE: Any data written to /var/www within the container is actually accessing /mnt on the host.

This option is useful for anyone running a database or application that requires persistence within Docker.


Example

For example, if you ran /bin/echo hello world as your command, the container will start, print hello world and then stop:

docker run ubuntu /bin/echo hello world

NOTE: Docker containers stop running as soon as the command they issued is complete, so this example will stop the container when the echo command has displayed “hello world”.


An alternative method is:

docker run -ti ubuntu

This allows continuous use of the container until the terminal is exited by running the exit command.