๐ ๊ณต๋ถ ๊ณ๊ธฐ
์ถ๊ฐ์ ์ธ ๋์ปค ๊ณต๋ถ๋ฅผ ์ํด ์ ํ๋ธ ๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ๋ฅผ ๋ณด๋ฉด์ ์ ๋ฆฌํด ๋ด ๋๋ค.
๋ชฉ์ฐจ
๐6-1. ์ปจํ ์ด๋ ์ฌ์ฉํ๊ธฐ : ์ด๋ก
* ๋ช ๋ น์ด ํ ์ฐธ๊ณ ์ฌํญ - [ ] : ์ ํ์ฌํญ , <>: ํ์์ฌํญ, | : ๋์ค ํ๋
๋ช๊ฐ์ง๋ฅผ ์ ๋ฆฌํด๋์ง๋ง ์ญ์ ์ ์ผ ์ข์ ๊ฑด ๊ณต์๋ฌธ์๋ค. ๐
Docker run reference
docs.docker.com
1๏ธโฃ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํด์?
๋ช ๋ น์ด | ์ค๋ช |
$ docker search [์ต์ ] <์ด๋ฏธ์ง์ด๋ฆ:ํ๊ทธ๋ช > | ์ด๋ฏธ์ง ๊ฒ์ |
$ docker pull [์ต์ ] <์ด๋ฏธ์ง์ด๋ฆ:ํ๊ทธ๋ช > | ์ด๋ฏธ์ง ๋ค์ด๋ก๋ (ํ๊ทธ ์์ฐ๋ฉด ๊ธฐ๋ณธ latest) |
$ docker images [์ต์ ] | ๋ค์ด๋ฐ์ ์ด๋ฏธ์ง ๋ชฉ๋ก ์ถ๋ ฅ |
$ docker inspect [์ต์ ] <์ด๋ฏธ์ง์ด๋ฆ:ํ๊ทธ๋ช > | ๋ค์ด๋ฐ์ ์ด๋ฏธ์ง ์์ธ๋ณด๊ธฐ |
$ docker rmi [์ต์ ] <์ด๋ฏธ์ง์ด๋ฆ> | ์ด๋ฏธ์ง์ด๋ฆ |
2๏ธโฃ ์ปจํ ์ด๋๋ฅผ ์คํํ๊ณ ์ข ๋ฃํ๋ ๋ช ๋ น์ ์๊ณ ์ถ์ด์
- ์ปจํ ์ด๋ ์คํ ๋ผ์ดํ ์ฌ์ดํด

๋ช ๋ น์ด | ์ค๋ช |
$ docker create [์ต์ ] <์ด๋ฏธ์ง๋ช :ํ๊ทธ> | ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๊ณ ์ปจํ ์ด๋ ์์ฑ (run๊ณผ ๋ค๋ฅด๊ฒ ๋ฌ๋์ X) |
$ docker start [์ต์ ] <์ปจํ ์ด๋๋ช |์ปจํ ์ด๋ID> | ์ปจํ ์ด๋ ์คํ(running) |
$ docker run [์ต์ ] <์ด๋ฏธ์ง๋ช :ํ๊ทธ> | pull + create + start : ์ด๋ฏธ์ง ๋ค์ด๋ฐ๊ณ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ณ running ์ํด, ์ด๋ฏธ์ง๊ฐ ๋ค์ด๋ฐ์๋ค๋ฉด create + start ๋ง |
$ docker stop [์ต์ ] <์ปจํ ์ด๋๋ช |์ปจํ ์ด๋ID> | ๋์์ค์ธ ์ปจํ ์ด๋ ์ค์ง |
$ docker rm [์ต์ ] <์ปจํ ์ด๋๋ช |์ปจํ ์ด๋ID> | remove๋ก ์ปจํ ์ด๋ ์ญ์ |
3๏ธโฃ ๋์์ค์ธ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌ ๋ช ๋ น์ด๊ฐ ๊ถ๊ธํด์
๋ช ๋ น์ด | ์ค๋ช |
$ docker ps [์ต์ ] | ps(ํ๋ก์ธ์ค) ์กฐํ |
$ docker inspect [์ต์ ] <์ปจํ ์ด๋๋ช |์ปจํ ์ด๋ID> | ์ด๋ฏธ์ง๋ช ์ด ์๋๋ผ ์ปจํ ์ด๋๋ฅผ ์ฐ๋ฉด ์ปจํ ์ด๋์ ๋ํ ์์ธ๋ณด๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค |
$ docker top <์ปจํ ์ด๋๋ช |์ปจํ ์ด๋ID> [ps ์ต์ ] | ํด๋น ์ปจํ ์ด๋์์ ๋์์ค์ธ ํ๋ก์ธ์ค ์ ๋ณด ํ์ธ |
$ docker logs [์ต์ ] <์ปจํ ์ด๋๋ช |์ปจํ ์ด๋ID> | ๋ฌ๋์ค์ธ ํด๋น ์ปจํ ์ด๋๊ฐ ๋ง๋ค์ด๋ธ ๋ก๊ทธ ์ ๋ณด ํ์ธ |
$ docker exec [์ต์ ] <์ปจํ ์ด๋๋ช |์ปจํ ์ด๋ID> /bin/bash | ๋ฌ๋์ค์ธ ํด๋น ์ปจํ ์ด๋์ ๋ช ๋ น์ด๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์๋ ํด๋น ์ปจํ ์ด๋์ bash ์ฐ๊ฒฐ |
$ docker attach [์ต์ ] <์ปจํ ์ด๋๋ช |์ปจํ ์ด๋ID> | FOREGROUND๋ก ์คํ์ค์ธ ์ปจํ ์ด๋์ ์ฐ๊ฒฐ |
๐6-2. ์ปจํ ์ด๋ ์ฌ์ฉํ๊ธฐ : ์ค์ต
1๏ธโฃ ์ปจํ ์ด๋ ์ด๋ฏธ์ง ๊ด๋ฆฌ ๋ช ๋ น์ด ์ฌ์ฉํ๊ธฐ
1) ์ด๋ฏธ์ง ๊ฒ์
docker search [์ต์
] <์ด๋ฏธ์ง์ด๋ฆ:ํ๊ทธ๋ช
>

name | description | stars | official | automated |
์ด๋ฏธ์ง ์ด๋ฆ | ์ค๋ช | ์ฌ๋๋ค์ด ์ค ๋ณ ์ | ๊ณต์ ์ด๋ฏธ์ง ์ฌ๋ถ | ์๋ ๋น๋ ๋๋์ง |
2) ์ด๋ฏธ์ง ๋ค์ด๋ก๋
docker pull [์ต์
] <์ด๋ฏธ์ง์ด๋ฆ:ํ๊ทธ๋ช
>

ํ๊ทธ๋ฅผ ์๋ถ์ด๋ฉด latest ๋ฒ์ ์ผ๋ก ์ ์ฉ. ํน์ ๋ฒ์ ์ ์ฉ ํ๋ ค๋ฉด ์ฝ๋ก (:) ๋ค์ ํน์ ๋ฒ์ ์ ๋ ฅ
3) ๋ค์ด๋ฐ์ ์ด๋ฏธ์ง ๋ชฉ๋ก ์กฐํ
docker images [์ต์
]


2๏ธโฃ ์ปจํ ์ด๋ ์คํ ๋ฐ ์ด์ํ๊ธฐ
1) ์ปจํ ์ด๋ ์กฐํ
docker ps [์ต์
]


2) ์ปจํ ์ด๋ ์์ฑ
docker create [์ต์
] <์ด๋ฏธ์ง๋ช
:ํ๊ทธ>

3) ์ปจํ ์ด๋ ์คํ
docker start [์ต์
] <์ปจํ
์ด๋๋ช
|์ปจํ
์ด๋ID>

4) ์ปจํ ์ด๋ ์ธ๋ถ์ ๋ณด ํ์ธ
docker inspect <์ปจํ
์ด๋๋ช
|์ปจํ
์ด๋ID>


๋คํธ์ํฌ ์ ๋ณด ๋ฟ๋ง ์๋๋ผ, ๋ณผ๋ฅจ ๋ง์ดํธ ์ ๋ณด ๋ฆฌ์์ค ์ ๋ณด ๋ฑ ์ปจํ ์ด๋์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋ค.
์ธ๋ถ ์ ๋ณด๋ฅผ ํน์ ์ ๋ณด๋ง ๋ณด๋ ค๊ณ ํ ๋๋
docker inspect --format '{{<JSONํ๋>}}' <์ปจํ
์ด๋๋ช
|์ปจํ
์ด๋ID>
JSONํ๋๋ ์์ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ฉด JSONํํ๋ก ๋์ด ์๋ ์ ๋ณด์์ ํ๋(๋์๋ฌธ์๊ตฌ๋ถ) ์ง์ ํ๋ฉด ๋๋ค

+ ์์ฃผ ์ฐ๋ ์ ๋ณด๊ฐ์ ๊ฒฝ์ฐ์๋ linux์ alias ๋ช ๋ น์ด๋ฅผ ์จ์ ์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ฅผ ๋จ์ถ์ด๋ก ๋ฑ๋ก์ด ๊ฐ๋ฅํ๋ค
1) ๋จ์ถ์ด ์กฐํ
alias
2) ๋จ์ถ์ด ์์ฑ
alias [๋จ์ถ์ด๋ช
]="๋ช
๋ น์ด"


3) ๋จ์ถ์ด ์ญ์
unalias [๋จ์ถ์ด๋ช
]
5) ์คํ ํ์ธ
curl ๋ช ๋ น์ด ๋ก ์ปค๋งจ๋๋ผ์ธ์์ ์น๋ธ๋ผ์ฐ์ ์ฌ์ฉ (Clinet URL์๋ฏธ)
curl <url>

6) ๋ก๊ทธ ํ์ธ
docker logs [์ต์
] <์ปจํ
์ด๋๋ช
|์ปจํ
์ด๋ID>

f ์ต์ (follow)๋ฅผ ํจ๊ป ์ฐ๋ฉด ์ค์๊ฐ์ผ๋ก ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ์ฌ ๋ชจ๋ํฐ๋ง์ด ๊ฐ๋ฅํ๊ฒ ํ๋ค.
7) ์ปจํ ์ด๋ ๋ด ํ๋ก์ธ์ค ํ์ธ
docker top <์ปจํ
์ด๋๋ช
|์ปจํ
์ด๋ID> [ps ์ต์
]

8) ๋์์ค์ธ ์ปจํ ์ดํฐ์์ ๋ช ๋ น์ด ์ถ๊ฐ
docker exec [์ต์
] <์ปจํ
์ด๋๋ช
|์ปจํ
์ด๋ID> <๋ช
๋ น์ด> [ARG..]
# docker exec -it webserver /bin/bash
-it๋ ์ต์ i์ ์ต์ t ์กฐํฉ์ผ๋ก i (interactive) , t (terminal) > ์ํธ์์ฉ ๊ฐ๋ฅํ ํฐ๋ฏธ๋์ ํตํด /bin/bash ์ฐ๊ฒฐํ๋ผ๋ ์๋ฏธ
์ ์ฒด๋ก ๋ณด๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋์๊ฐ๋ ํ๋ก์ธ์ค์ /bin/bash ๋ผ๋ ์ปค๋งจ๋๋ฅผ ์ถ๊ฐ๋ก ๋์์์ผ ์ฐ๊ฒฐํ๊ฒ ๋ค

ํด๋น ์ปจํ ์ด๋์์ nginx ๊ธฐ๋ณธ index.html์ด ์๋ ๊ฒฝ๋ก๋ฅผ ์ฐพ์๊ฐ littlezero's Hompage ๋ผ๋ ๋ฉ์์ง๋ก ๋์ฌ ์ ์๊ฒ ์งํํ๊ณ exit๋ก ์ข ๋ฃ

๋ค์ curl๋ก ํ์ธํ๋ฉด ๊ต์ฒด๋ ๊ฑธ ํ์ธํ ์ ์๋ค

3๏ธโฃ ์ปจํ ์ด๋ ์ข ๋ฃํ๊ธฐ
1) ์ปจํ ์ด๋ ์ค์ง
docker stop [์ต์
] <์ปจํ
์ด๋๋ช
|์ปจํ
์ด๋ID>

2) ์ปจํ ์ด๋ ์ญ์
docker rm [์ต์
] <์ปจํ
์ด๋๋ช
|์ปจํ
์ด๋ID>

ํ์ง๋ง f ์ต์ (force)์ ์ฌ์ฉํ๋ฉด stop + rm ํ์ฌ ๊ฐ์ ์ญ์ ํ๋ค

๊ทธ๋ฅ ์ฐจ๋ก๋ก stop์ผ๋ก ์ค์งํ๊ณ rm์ผ๋ก ์ญ์ ํ๋ ๊ฒ์ด ๊ธฐ๋ณธ.
์ด๋ ๊ฒ ์ปจํ ์ด๋๋ฅผ ์ง์ฐ๊ณ ๋๋ฉด ์ฐ๋ฆฌ๊ฐ ๋ณ๊ฒฝํ index.html๋ ๋ ์๊ฐ๋ค.
โ ๊ณต๋ถ์๋ฃ
6-1, 6-2
[๋ฐ๋ฐฐ๋] ๋์ปค ์๋ฆฌ์ฆ
www.youtube.com
'DevOps > Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 8] Docker Container Storage (0) | 2023.04.21 |
---|---|
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 7] ์ปจํ ์ด๋ ๊ด๋ฆฌ (0) | 2023.04.15 |
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 5] ์ปจํ ์ด๋ ๋ณด๊ด์ฐฝ๊ณ Registry (0) | 2023.04.13 |
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 4] ์ปจํ ์ด๋ ๋ง๋ค๊ณ ํ๋ธ์ ๋ฐฐํฌํด๋ณด๊ธฐ (0) | 2023.04.13 |
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 0~3-2] ๋์ปค ์ดํด๋ณด๊ธฐ (0) | 2023.04.12 |