Difference between revisions of "Docker"
From Teknologisk videncenter
m |
m |
||
(12 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
|- | |- | ||
|docker run -d -p 8080:80 nginx || Run image nginx detach (portmap redirect 8080->80) public to private - See rule with '''iptables -L -t nat -n''' or '''nft list ruleset''' | |docker run -d -p 8080:80 nginx || Run image nginx detach (portmap redirect 8080->80) public to private - See rule with '''iptables -L -t nat -n''' or '''nft list ruleset''' | ||
+ | |- | ||
+ | |docker run -d -p 8080:80 -v /home/heth/nginx:/usr/share/nginx/html nginx || Same as above but with volume map. Actually mounts directory in container | ||
|- | |- | ||
|docker run -it ubuntu|| Run image ubuntu in container ( -it = interactive tty ) | |docker run -it ubuntu|| Run image ubuntu in container ( -it = interactive tty ) | ||
Line 19: | Line 21: | ||
|docker pull nginx || pull container from repository (default docker hub) | |docker pull nginx || pull container from repository (default docker hub) | ||
|- | |- | ||
+ | |docker inspect 1e5bdae517e7 || JSON dump of container config | ||
+ | |- | ||
+ | |docker container prune || Remove all stopped containers | ||
+ | |- | ||
+ | |docker exec -ti 1e5bdae517e7 bash || Run interactive bash in running container | ||
+ | |- | ||
+ | |docker attach 1e || attach your terminal's standard input, output, and error to a running container | ||
+ | |- | ||
|} | |} | ||
+ | == Container preservation == | ||
+ | <source lang=bash> | ||
+ | root@ub1:~# docker run -it --name heth alpine | ||
+ | / # echo "Hello, alpine" > hethfile.txt | ||
+ | / #<CTRL-D> | ||
+ | root@ub1:~# docker start -ai heth | ||
+ | / # cat hethfile.txt | ||
+ | Hello, alpine | ||
+ | / #<CTRL-D> | ||
+ | root@ub1:~# docker rm heth | ||
+ | </source> | ||
+ | ==Running command in container== | ||
+ | <source lang=bash> | ||
+ | # echo "print("Hello, world")" > /tmp/hello.py | ||
+ | # docker run -it -v /tmp:/app python python3 /app/hello.py | ||
+ | Hello,world | ||
+ | </source> | ||
+ | =Docker engine= | ||
+ | ==Directories== | ||
+ | ;/var/lib/docker | ||
+ | : Base directory | ||
+ | |||
Latest revision as of 09:04, 29 September 2024
command | Explanation |
---|---|
docker ps | Status of running containers |
docker container ls | Status of running containers (As above) |
docker run ubuntu | Run image ubuntu in containe (Terminates as its bash exits) - pull container if not present |
docker run -d nginx | Run image nginx detach (as daemon stdin/stdout detached) |
docker run -d -p 8080:80 nginx | Run image nginx detach (portmap redirect 8080->80) public to private - See rule with iptables -L -t nat -n or nft list ruleset |
docker run -d -p 8080:80 -v /home/heth/nginx:/usr/share/nginx/html nginx | Same as above but with volume map. Actually mounts directory in container |
docker run -it ubuntu | Run image ubuntu in container ( -it = interactive tty ) |
docker pull nginx | pull container from repository (default docker hub) |
docker inspect 1e5bdae517e7 | JSON dump of container config |
docker container prune | Remove all stopped containers |
docker exec -ti 1e5bdae517e7 bash | Run interactive bash in running container |
docker attach 1e | attach your terminal's standard input, output, and error to a running container |
Container preservation
root@ub1:~# docker run -it --name heth alpine
/ # echo "Hello, alpine" > hethfile.txt
/ #<CTRL-D>
root@ub1:~# docker start -ai heth
/ # cat hethfile.txt
Hello, alpine
/ #<CTRL-D>
root@ub1:~# docker rm heth
Running command in container
# echo "print("Hello, world")" > /tmp/hello.py
# docker run -it -v /tmp:/app python python3 /app/hello.py
Hello,world
Docker engine
Directories
- /var/lib/docker
- Base directory