์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[Docker] ๋ช…๋ น์–ด ์ •๋ฆฌ

yan_z 2021. 3. 5. 10:28

๐Ÿ“œ ์ด๋ฏธ์ง€ ๊ด€๋ จ

๋„์ปค์—์„œ๋Š” ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ,

๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€์— ์„ค์ •ํ•ด๋‘” ๋Œ€๋กœ ์ปจํ…Œ์ด๋„ˆ์˜ ๊ตฌ์„ฑํ™˜๊ฒฝ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ๋ชฉ๋ก ๋ณด๊ธฐ

$ sudo docker images

์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰

$ sudo docker search [์ด๋ฏธ์ง€ ์ด๋ฆ„]

์ด๋ฏธ์ง€ ๋ฐ›๊ธฐ

$ sudo docker pull [์ด๋ฏธ์ง€ ์ด๋ฆ„]:[๋ฒ„์ „]

๋ฒ„์ „: latest ๋ฅผ ์“ฐ๋ฉด ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ๋ฐ›์„์ˆ˜ ์žˆ๋‹ค.

์ด๋ฏธ์ง€ ์‚ญ์ œ

$ sudo docker rmi [์ด๋ฏธ์ง€ id]

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œ ํ• ๋•Œ, -f ์˜ต์…˜์„ ๋ถ™์–ด๋ฉด ์ปจํ…Œ์ด๋„ˆ๋„ ๊ฐ•์ œ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

$ sudo docker rmi -f [์ด๋ฏธ์ง€ id]

๐Ÿ“ฆ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ จ

๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ(nginx, database, WAS ๋“ฑ)์„ ์ปจํ…Œ์ด๋„ˆ ๋ผ๋Š” ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์„ ์ด์šฉํ•˜์—ฌ ์‹คํ–‰์‹œํ‚ฌ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก๋ณด๊ธฐ

$ sudo docker ps

 

์˜ต์…˜

  • -a : ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ์ถœ๋ ฅ

์˜ต์…˜์„ค๋ช…

-d detached mode ํ”ํžˆ ๋งํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ชจ๋“œ
-p ํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ์˜ ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐ (ํฌ์›Œ๋”ฉ)
-v ํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ฐ๊ฒฐ (๋งˆ์šดํŠธ)
-e ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ์‚ฌ์šฉํ•  ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •
--name ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์„ค์ •
--it -i์™€ -t๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•œ ๊ฒƒ์œผ๋กœ ํ„ฐ๋ฏธ๋„ ์ž…๋ ฅ์„ ์œ„ํ•œ ์˜ต์…˜ (์ปจํ…Œ์ด๋„ˆ์˜ ํ‘œ์ค€ ์ž…๋ ฅ๊ณผ ๋กœ์ปฌ ์ปดํ“จํ„ฐ์˜ ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ์—ฐ๊ฒฐ)
--rm ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ์‹œ ์ปจํ…Œ์ด๋„ˆ ์ž๋™ ์ œ๊ฑฐ
--link ์ปจํ…Œ์ด๋„ˆ ์—ฐ๊ฒฐ [์ปจํ…Œ์ด๋„ˆ ๋ช…:๋ณ„์นญ]
  • ex) $ sudo docker run -i -t --name server ubuntu:latest /bin/bash

์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ( ์›๋ž˜ ์กด์žฌํ•˜๋˜ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ )

$ sudo docker start [์ปจํ…Œ์ด๋„ˆ id ๋˜๋Š” name]

์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘

$ sudo docker restart [์ปจํ…Œ์ด๋„ˆ id ๋˜๋Š” name]

์ปจํ…Œ์ด๋„ˆ ์ ‘์† ( ์‹คํ–‰๋˜์–ด์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ )

$ sudo docker attach [์ปจํ…Œ์ด๋„ˆ id ๋˜๋Š” name]

์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ( ์ปจํ…Œ์ด๋„ˆ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์„œ )

docker run ๋ช…๋ น์–ด๋Š” docker create + docker start + docker attach๋ฅผ ํ•œ๋ฒˆ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Œ

$ sudo docker run [options] image[:TAG|@DIGEST] [COMMAND] [ARG...]

์ปจํ…Œ์ด๋„ˆ ์ •์ง€

$ sudo docker stop [์ปจํ…Œ์ด๋„ˆ id ๋˜๋Š” name]

  • Bash Shell์—์„œ exit ๋˜๋Š” Ctrl + D๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ง€๋œ๋‹ค.

  • Ctrl + P, Ctrl + Q๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์ž…๋ ฅํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ •์ง€ํ•˜์ง€ ์•Š๊ณ , ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋น ์ ธ๋‚˜์˜จ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ

$ sudo docker rm [์ปจํ…Œ์ด๋„ˆ id ๋˜๋Š” name]// ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ $ sudo docker rm `docker ps -a -q`

sudo ์—†์ด Docker ๋ช…๋ น์–ด ์“ฐ๊ธฐ

$ sudo usermod -aG docker $USER # ํ˜„์žฌ ์ ‘์†์ค‘์ธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์ฃผ๊ธฐ $ sudo usermod -aG docker your-user # your-user ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์ฃผ๊ธฐ

์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ ์ค‘ ์ผ ๋•Œ, ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•˜๋ฉด ๊ถŒํ•œ์ด ์ ์šฉ๋œ๋‹ค.