๐Ÿ“Œ ๊ณต๋ถ€ ๊ณ„๊ธฐ

์ถ”๊ฐ€์ ์ธ ๋„์ปค ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ์œ ํŠœ๋ธŒ ๋”ฐ๋ฐฐ๋„ ๋„์ปค ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋ณด๋ฉด์„œ ์ •๋ฆฌํ•ด ๋ด…๋‹ˆ๋‹ค. 

๋ชฉ์ฐจ



๐Ÿ“6-1. ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉํ•˜๊ธฐ : ์ด๋ก 

* ๋ช…๋ น์–ด ํ‘œ ์ฐธ๊ณ ์‚ฌํ•ญ -  [ ] : ์„ ํƒ์‚ฌํ•ญ ,  <>: ํ•„์ˆ˜์‚ฌํ•ญ, | : ๋‘˜์ค‘ ํ•˜๋‚˜

 

๋ช‡๊ฐ€์ง€๋ฅผ ์ •๋ฆฌํ•ด๋’€์ง€๋งŒ ์—ญ์‹œ ์ œ์ผ ์ข‹์€ ๊ฑด ๊ณต์‹๋ฌธ์„œ๋‹ค. ๐Ÿ˜˜

 

Docker run reference

 

docs.docker.com

 

1๏ธโƒฃ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์š”?

๋ช…๋ น์–ด ์„ค๋ช…
$ docker search [์˜ต์…˜] <์ด๋ฏธ์ง€์ด๋ฆ„:ํƒœ๊ทธ๋ช…> ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰
$ docker pull [์˜ต์…˜] <์ด๋ฏธ์ง€์ด๋ฆ„:ํƒœ๊ทธ๋ช…> ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ (ํƒœ๊ทธ ์•ˆ์“ฐ๋ฉด ๊ธฐ๋ณธ latest)
$ docker images [์˜ต์…˜] ๋‹ค์šด๋ฐ›์€ ์ด๋ฏธ์ง€ ๋ชฉ๋ก ์ถœ๋ ฅ
$ docker inspect [์˜ต์…˜] <์ด๋ฏธ์ง€์ด๋ฆ„:ํƒœ๊ทธ๋ช…> ๋‹ค์šด๋ฐ›์€ ์ด๋ฏธ์ง€ ์ƒ์„ธ๋ณด๊ธฐ
$ docker rmi [์˜ต์…˜] <์ด๋ฏธ์ง€์ด๋ฆ„> ์ด๋ฏธ์ง€์ด๋ฆ„

 

 

2๏ธโƒฃ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ข…๋ฃŒํ•˜๋Š” ๋ช…๋ น์„ ์•Œ๊ณ ์‹ถ์–ด์š”

  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ผ์ดํ”„ ์‚ฌ์ดํด

์ถœ์ฒ˜: https://techmormo.com/posts/docker-made-easy-3-container-lifecycle/

 

๋ช…๋ น์–ด ์„ค๋ช…
$ 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 [์˜ต์…˜] <์ด๋ฏธ์ง€์ด๋ฆ„:ํƒœ๊ทธ๋ช…>

ํ—ˆ๋ธŒ์— ์กด์žฌํ•˜๋Š” nginx ํ‚ค์›Œ๋“ค์„ ๊ฐ€์ง„ ์ด๋ฏธ์ง€๋“ค ๋ชจ๋‘ ์กฐํšŒ

name description stars official automated
์ด๋ฏธ์ง€ ์ด๋ฆ„ ์„ค๋ช… ์‚ฌ๋žŒ๋“ค์ด ์ค€ ๋ณ„ ์ˆ˜ ๊ณต์‹ ์ด๋ฏธ์ง€ ์—ฌ๋ถ€ ์ž๋™ ๋นŒ๋“œ ๋˜๋Š”์ง€

 

2)  ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ 

docker pull [์˜ต์…˜] <์ด๋ฏธ์ง€์ด๋ฆ„:ํƒœ๊ทธ๋ช…>

ํƒœ๊ทธ๋ฅผ ์•ˆ๋ถ™์ด๋ฉด latest ๋ฒ„์ „์œผ๋กœ ์ ์šฉ. ํŠน์ • ๋ฒ„์ „ ์ ์šฉ ํ•˜๋ ค๋ฉด ์ฝœ๋ก (:) ๋’ค์— ํŠน์ • ๋ฒ„์ „ ์ž…๋ ฅ

 

3) ๋‹ค์šด๋ฐ›์€ ์ด๋ฏธ์ง€ ๋ชฉ๋ก ์กฐํšŒ 

docker images [์˜ต์…˜]

ํ•˜๋Š˜์ƒ‰๋ผ์ธ์— ์œ„์—์„œ ๋‹ค์šด๋ฐ›์€ ์ด๋ฏธ์ง€ ํ™•์ธ
--no-trunc ์˜ต์…˜ ์ถ”๊ฐ€์‹œ :  ์ด๋ฏธ์ง€ ์ด๋ฆ„์ด full name์œผ๋กœ ์ถœ๋ ฅ

 


2๏ธโƒฃ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ฐ ์šด์˜ํ•˜๊ธฐ

 

1) ์ปจํ…Œ์ด๋„ˆ ์กฐํšŒ 

docker ps [์˜ต์…˜]

No ์˜ต์…˜ ์‹œ : ํ˜„์žฌ ๋Ÿฌ๋‹์ƒํƒœ์˜ ์ปจํ…Œ์ด๋„ˆ๋งŒ ์กฐํšŒ
a ์˜ต์…˜ ์ถ”๊ฐ€์‹œ : all ์ปจํ…Œ์ด๋„ˆ ์ „์ฒด๋ฅผ ๋ณด์—ฌ์คŒ

 

 

2) ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ 

docker create [์˜ต์…˜] <์ด๋ฏธ์ง€๋ช…:ํƒœ๊ทธ>

create๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋Š” ์ƒ์„ฑ๋˜๋‚˜ running์€ ๋ฐ”๋กœ ์•ˆ๋œ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค

 

 

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

docker start [์˜ต์…˜] <์ปจํ…Œ์ด๋„ˆ๋ช…|์ปจํ…Œ์ด๋„ˆID>

No ์˜ต์…˜์œผ๋กœ ์‹คํ–‰ ํ™•์ธ ํ•˜๊ฑฐ๋‚˜ a ์˜ต์…˜์œผ๋กœ status๊ฐ€ Up์œผ๋กœ ๋ฐ”๋€Œ์–ด ์‹คํ–‰์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค

 

 

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>

nginx ํ™”๋ฉด์ด ์ž˜ ๋‚˜์˜จ๊ฑฐ ํ™•์ธ

 

 

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

 

+ Recent posts