Difference between revisions of "Docker"
From neil.tappsville.com
Jump to navigationJump to searchm (→Storage) |
m |
||
Line 12: | Line 12: | ||
-t terminal (usually -it) | -t terminal (usually -it) | ||
-e VAR=value (environment variables) | -e VAR=value (environment variables) | ||
+ | -v VOLUME_NAME:/container/mount/point | ||
--entrypoint=sleep [image] [attribute] | --entrypoint=sleep [image] [attribute] | ||
--name name | --name name |
Revision as of 04:53, 23 August 2020
Contents
Docker
Containers
List running containers
docker ps
List all containers
docker ps -a
Run a container
docker run [image] [command] -d detached -i interactive -t terminal (usually -it) -e VAR=value (environment variables) -v VOLUME_NAME:/container/mount/point --entrypoint=sleep [image] [attribute] --name name --network run:version (using a tag)
Port mapping
-p (host/external):(container/internal)
Directory mapping
-v /host/dir:/container/dir
Inspect (returns json)
docker inspect [container]
Images
List images
docker image ls
Remove image (must have no containers attached)
docker rmi [image]
Dockerfile
Contains Instructions or Arguments
CMD can be as per cli or in json format
CMD command param1 CMD ["command","param1"]
FROM ubuntu:18.04 COPY . /app ADD root/bashrc /root/.bashrc ENV HOME /root WORKDIR /root RUN make /app CMD python /app/app.py
Build
docker build [path/Dockerfilefolder] -t name:tag
Create a Ubuntu container that sleeps for 5 seconds before exiting Dockerfile
From Ubuntu CMD sleep 5
docker build -t ubuntu-sleeper . docker run ubuntu-sleeper
Dockerfile
From Ubuntu ENTRYPOINT ["sleep"] CMD ["5"] (becomes the default)
docker build -t ubuntu-sleeper . docker run ubuntu-sleeper 10
Networks
docker network ls
Containers can resolve containers by name in the same network (internal dns server 127.0.0.11)
Create a network
docker network create --driver bridge --subnet 182.18.0.0/16 custom-isolated-network
Bridge
Internal network common to all docker containers in 172.17.0.0/24 network
None
Containers are isolated. Containers are not connected to any network
Host=
Container runs directly on the host network.
Storage
Default storage
/var/lib/docker
Create volume
docker volume create data_volume (generated /var/lib/docker/volumes/data_volume
Use Volume
docker run -v data_volume:/var/lib/mysql mysql