๐ŸŽ‰ berenickt ๋ธ”๋กœ๊ทธ์— ์˜จ ๊ฑธ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽ‰
Memo
CheatSheet
Docker

1. sudo ์ž…๋ ฅํ•˜์ง€ ์•Š๊ธฐ

Docker์˜ ๋ช…๋ น์€ docker <๋ช…๋ น> ํ˜•์‹์œผ๋กœ, ํ•ญ์ƒ root ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•จ. docker ๋ช…๋ น์€ root ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ ๊ณ„์ •์—์„œ๋Š” ํ•ญ์ƒ sudo๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ But, ๊ท€์ฐฎ๊ธฐ ๋•Œ๋ฌธ์— sudo๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Œ

(1) root ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๊ฑฐ๋‚˜, sudo su์„ ์‚ฌ์šฉํ•ด root ๊ณ„์ •์œผ๋กœ ์ „ํ™˜

1
$ sudo su
2
#

(2) ํ˜„์žฌ ๊ณ„์ •์„ docker ๊ทธ๋ฃน์— ํฌํ•จ์‹œํ‚ค๊ธฐ (ํ˜„์žฌ ๊ณ„์ •์—์„œ ๋กœ๊ทธ์•„์›ƒํ•œ ๋’ค ๋‹ค์‹œ ๋กœ๊ทธ์ธ)

1
$ sudo usermod -aG docker ${USER}
2
$ sudo systemctl restart docker

2. ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ๋ช…๋ น์–ด

1
#### (1) ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก (ps, Process Status์˜ ์•ฝ์ž)
2
docker ps # ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ์ถœ๋ ฅ
3
docker ps -a # ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ์ถœ๋ ฅ
4
5
#### (2) ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ (create)
6
docker create [image] # ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ
7
docker create -it [image] # ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰
8
docker rename [container] [new-name]
9
10
#### (3) ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ (rm, remove์˜ ์•ฝ์ž)
11
docker rm [container]
12
docker rm -f [container]
13
14
#### (4) ์ปจํ…Œ์ด๋„ˆ ์—…๋ฐ์ดํŠธ
15
docker update [container] # ์ปจํ…Œ์ด๋„ˆ ์—…๋ฐ์ดํŠธ
16
17
#### (5) ๋กœ๊ทธ ์ถœ๋ ฅ (logs)
18
docker logs [container] # ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์˜ ๋กœ๊ทธ ์ถœ๋ ฅ
19
docker logs -f --until=[interval] [container] # ํŠน์ • ์‹œ๊ฐ„ ์ด์ „์— ์ƒ์„ฑ๋œ ๋กœ๊ทธ ๊ฒ€์ƒ‰
20
21
#### (5) ๊ธฐํƒ€
22
docker events [container] # ์ปจํ…Œ์ด๋„ˆ ์ด๋ฒคํŠธ ์ถœ๋ ฅ
23
docker port [container] # ์ปจํ…Œ์ด๋„ˆ ํฌํŠธ ์ถœ๋ ฅ
24
docker top [container] # ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ํ‘œ์‹œ
25
docker stats [container] # ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ๋ผ์ด๋ธŒ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ํ†ต๊ณ„ ๋ณด๊ธฐ
26
docker diff [container] # ์ปจํ…Œ์ด๋„ˆ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ณ€๊ฒฝ ๋‚ด์—ญ ์ถœ๋ ฅ
27
docker cp [file-path] CONTAINER:[path] # ์ปจํ…Œ์ด๋„ˆ์™€ ํ˜ธ์ŠคํŠธ ๊ฐ„ ํŒŒ์ผ ๋ณต์‚ฌ

3. ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ช…๋ น์–ด

1
#### (1) ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ (run)
2
docker run [image] [command] # ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰
3
docker run --name [container-name] [image] # ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์ง€์ •
4
docker run -p [host-port]:[container-port] [image] # ํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ํฌํŠธ ์—ฐ๊ฒฐ
5
docker run --rm [image] # ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ์‹œ ์ž๋™์œผ๋กœ ์‚ญ์ œ
6
docker run -d [image] # ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ชจ๋“œ๋กœ ์‹คํ–‰
7
docker run -it [image] # ๋Œ€ํ™”ํ˜• ๋ชจ๋“œ๋กœ ์‹คํ–‰
8
# --interactive(-i, ๋Œ€ํ™”ํ˜•)์™€ --tty (-t) ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€ํ™”ํ˜• ๋ชจ๋“œ๋กœ ์‹คํ–‰
9
10
#### (2) ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘, ์ •์ง€, ์žฌ์‹œ์ž‘, ์ผ์‹œ ์ •์ง€, ์ผ์‹œ ์ •์ง€ ํ•ด์ œ
11
docker start [container] # ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘
12
docker stop [container] # ์ปจํ…Œ์ด๋„ˆ ์ •์ง€
13
docker restart [container] # ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘
14
docker pause [container] # ์ปจํ…Œ์ด๋„ˆ ์ผ์‹œ ์ •์ง€
15
docker unpause [container] # ์ปจํ…Œ์ด๋„ˆ ์ผ์‹œ ์ •์ง€ ํ•ด์ œ
16
17
#### (3) ๊ธฐํƒ€
18
docker wait [container] # ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ
19
docker kill [container] # ์ปจํ…Œ์ด๋„ˆ ๊ฐ•์ œ ์ข…๋ฃŒ
20
docker attach [container] # ๋กœ์ปฌ ํ‘œ์ค€ ์ž…๋ ฅ, ์ถœ๋ ฅ ๋ฐ ์˜ค๋ฅ˜ ์ŠคํŠธ๋ฆผ์„ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์— ์—ฐ๊ฒฐ
21
docker exec -it [container] [shell] # ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ์…ธ์„ ์‹คํ–‰

4. ์ด๋ฏธ์ง€ ๋ช…๋ น์–ด

1
docker build [dockerfile-path] # Dockerfile์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ ๋‹ค.
2
docker build . # ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” Dockerfile์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œ
3
docker build -t [name]:[tag] [dockerfile-path] # Dockerfile์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ํƒœ๊ทธ๋ฅผ ์ง€์ •
4
docker build -f [file-path] # ๋นŒ๋“œํ•  ํŒŒ์ผ์„ ์ง€์ •
5
6
docker pull [image] # ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ
7
docker push [image] # ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ด๋ฏธ์ง€ ํ‘ธ์‹œ
8
9
docker import [url/file] # ํŒŒ์ผ์ด๋‚˜ URL์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ
10
docker commit [container] [new-image] # ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ
11
docker tag [image] [image]:[tag] # ์ด๋ฏธ์ง€์— ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€
12
docker images # ์ด๋ฏธ์ง€ ๋ชฉ๋ก ์ถœ๋ ฅ
13
docker history [image] # ์ด๋ฏธ์ง€ ํžˆ์Šคํ† ๋ฆฌ ์ถœ๋ ฅ
14
docker rmi [image] # ์ด๋ฏธ์ง€ ์‚ญ์ œ
15
docker load --image [tar-file] # tar ์•„์นด์ด๋ธŒ ๋˜๋Š” stdin์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œ
16
docker save [image] > [tar-file] # tar ์•„์นด์ด๋ธŒ ํŒŒ์ผ์— ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅ
17
docker image prune # ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€ ์‚ญ์ œ

5. ๋„คํŠธ์›Œํฌ ๋ช…๋ น์–ด

1
docker network ls # ๋„คํŠธ์›Œํฌ ๋ชฉ๋ก ์ถœ๋ ฅ
2
docker network rm [network] # ๋„คํŠธ์›Œํฌ ์‚ญ์ œ
3
docker network inspect [network] # ๋„คํŠธ์›Œํฌ ์ •๋ณด ์ถœ๋ ฅ
4
docker network connect [network] [container] # ์ปจํ…Œ์ด๋„ˆ์— ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ
5
docker network disconnect [network] [container] # ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ•ด์ œ

6. ์ผ๋ฐ˜ ๊ด€๋ฆฌ ๋ช…๋ น์–ด

1
docker login # Docker ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋กœ๊ทธ์ธ
2
docker logout # Docker ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ๋กœ๊ทธ์•„์›ƒ
3
docker inspect [object] # Docker ๊ฐ์ฒด ์ •๋ณด ์ถœ๋ ฅ
4
docker version # Docker ๋ฒ„์ „ ์ •๋ณด ์ถœ๋ ฅ
5
docker info # Docker ์‹œ์Šคํ…œ ์ •๋ณด ์ถœ๋ ฅ
6
docker system prune # ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์‚ญ์ œ

7. ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ด€๋ฆฌ ๋ช…๋ น์–ด

1
docker plugin enable [plugin] # ํ”Œ๋Ÿฌ๊ทธ์ธ ํ™œ์„ฑํ™”
2
docker plugin disable [plugin] # ํ”Œ๋Ÿฌ๊ทธ์ธ ๋น„ํ™œ์„ฑํ™”
3
docker plugin create [plugin] [path-to-data] # config.json ๋ฐ rootfs์—์„œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒ์„ฑ
4
docker plugin inspect [plugin] # ํ”Œ๋Ÿฌ๊ทธ์ธ ์ •๋ณด ์ถœ๋ ฅ
5
docker plugin rm [plugin] # ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ญ์ œ