docker:containers:run_a_docker_container
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
docker:containers:run_a_docker_container [2020/07/15 09:30] – external edit 127.0.0.1 | docker:containers:run_a_docker_container [2020/11/11 12:12] (current) – 192.168.1.1 | ||
---|---|---|---|
Line 4: | Line 4: | ||
If the image doesn' | If the image doesn' | ||
+ | |||
+ | Containers can be run in different modes: | ||
+ | |||
+ | * **Attached mode**: | ||
+ | * **Detached mode**: | ||
+ | * **Interactive mode**: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Run a Container in Attached Mode ===== | ||
+ | |||
+ | <code bash> | ||
+ | docker container run nginx | ||
+ | </ | ||
+ | |||
+ | <WRAP info> | ||
+ | **NOTE: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Run a Container Under a Specific Name ===== | ||
+ | |||
+ | <code bash> | ||
+ | docker container run --name docker-nginx nginx | ||
+ | </ | ||
+ | |||
+ | where: | ||
+ | |||
+ | * **docker-nginx** is the name of the container. | ||
+ | * **nginx** is the name of the Docker image that Docker will download from the Docker Hub registry. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Run a Container in Detached Mode ===== | ||
+ | |||
+ | Runs the container in the background. | ||
+ | |||
+ | <code bash> | ||
+ | docker container run --name docker-nginx -d nginx | ||
+ | </ | ||
+ | |||
+ | Verify the running container: | ||
+ | |||
+ | <code bash> | ||
+ | docker ps | ||
+ | </ | ||
+ | |||
+ | returns: | ||
+ | |||
+ | <code bash> | ||
+ | CONTAINER ID IMAGE | ||
+ | 0bb07d011cc9 | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Run a Container in Interactive Mode ===== | ||
+ | |||
+ | <code bash> | ||
+ | docker container run --name docker-nginx -it nginx /bin/bash | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Run a Container and Publish Container Ports ===== | ||
+ | |||
+ | <code bash> | ||
+ | docker container run --name docker-nginx -d -p 8080:80 nginx | ||
+ | </ | ||
+ | |||
+ | where: | ||
+ | |||
+ | * **8080** is the port of the Docker host. | ||
+ | * **80** is the port of the container where the application is running. | ||
+ | |||
+ | <WRAP info> | ||
+ | **NOTE: | ||
+ | |||
+ | An optional host-ip can also be set: | ||
+ | |||
+ | <code bash> | ||
+ | docker container run -p [host-ip]: | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Remove the Container After Exit ===== | ||
+ | |||
+ | <code bash> | ||
+ | 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. | ||
+ | |||
+ | <code bash> | ||
+ | docker container run --name docker-nginx -d -p 8080:80 -v / | ||
+ | </ | ||
+ | |||
+ | <WRAP info> | ||
+ | **NOTE: | ||
+ | |||
+ | 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: | For example, if you ran **/bin/echo hello world** as your command, the container will start, print hello world and then stop: | ||
Line 28: | Line 148: | ||
This allows continuous use of the container until the terminal is exited by running the **exit** command. | This allows continuous use of the container until the terminal is exited by running the **exit** command. | ||
+ | |||
+ | ---- | ||
docker/containers/run_a_docker_container.1594805433.txt.gz · Last modified: 2020/07/15 09:30 by 127.0.0.1