๐Ÿณ Docker ๊ธฐ๋ณธ ๋ช…๋ น์–ด ์‚ฌ์šฉ๋ฒ• ๋ฐ ์˜ˆ์‹œ ๐Ÿณ

Kim Dae Hyunยท2021๋…„ 6์›” 16์ผ
2

Docker

๋ชฉ๋ก ๋ณด๊ธฐ
1/7
post-thumbnail

๐Ÿ”Ž Docker์˜ ๊ธฐ๋ณธ์ ์ธ ๋ช…๋ น์–ด๋ฅผ ์•Œ์•„๋ณด์ž..!

  • run
  • ps
  • create, start
  • stop, kill
  • rm, rmi
  • exec
  • sh

run

  • ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด
  • create์™€ start๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๋‹ค.

ps

  • ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด
  • ์ปจํ…Œ์ด๋„ˆID, ์‚ฌ์šฉ๋œ ์ด๋ฏธ์ง€, ๋ช…๋ น์–ด, ์ƒํƒœ ๋“ฑ์„ ํ™•์ธ ๊ฐ€๋Šฅ
  • ps -a
    • ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ์ •๋ณด๋ฅผ ํ™•์ธ

create, start

  • ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ
    • ์ƒ์„ฑ ํ›„ ps๋กœ ํ™•์ธํ•˜์—ฌ๋„ ์•„์ง ์‹คํ–‰๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.
    • docker ps -a๋กœ ํ™•์ธํ•˜๋ฉด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
    • ์ƒ์„ฑ๋œ ์ปจํ…Œ์ด๋„ˆ์˜ ID๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.
    • docker start -a ์ปจํ…Œ์ด๋„ˆID

stop, kill

  • stop๊ณผ kill์˜ ์ฐจ์ด์ ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ปจํ…Œ์ด๋„ˆ์— ping๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•ด๋ณด์ž.
    • ํ•œ ํ„ฐ๋ฏธ๋„์—์„œ๋Š” ping๋ช…๋ น์–ด๋ฅผ ๊ณ„์†ํ•ด์„œ ์ˆ˜ํ–‰์ค‘์ธ ์ƒํƒœ์ด๊ณ , ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.
  • stop
    • stop์€ ์ฒ˜๋ฆฌ ์ค‘์ธ ์ž‘์—… ํ˜น์€ ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด ์™„๋ฃŒ๋˜๊ธฐ๊นŒ์ง€ ๋Œ€๊ธฐํ•œ ํ›„์— ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ค‘์ง€์‹œํ‚จ๋‹ค.
    • ์‚ฌ์ง„์œผ๋กœ๋Š” ํ™•์ธ๋˜์ง€ ์•Š์ง€๋งŒ ์กฐ๊ธˆ์˜ ์ง€์—ฐ์‹œ๊ฐ„์ด ๋ฐœ์ƒํ•œ ํ›„์— ์ค‘์ง€๋˜์—ˆ๋‹ค.
  • kill
    • kill์€ ๋ฌป์ง€๋„ ๋”ฐ์ง€์ง€๋„ ๋ง๊ณ  ์ข…๋ฃŒ์‹œํ‚จ๋‹ค. (์ฆ‰์‹œ ์ข…๋ฃŒ)

rm, rmi

  • rm
    • ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.
    • ์‚ญ์ œ์— ์•ž์„œ ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋Š” kill ํ˜น์€ stop์œผ๋กœ ์ค‘์ง€ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ
    • docker rm `docker ps -a -q`
  • rmi
    • ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.
    • ํ˜„์žฌ ์กด์žฌํ•˜๋Š” image๋ฅผ ํ™•์ธ docker images
    • ์ด๋ฏธ์ง€ ์‚ญ์ œ (alpine ์ด๋ฏธ์ง€ ์‚ญ์ œ)

exec

  • exec ๋ช…๋ น์–ด๋Š” ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์— ๋ช…๋ น์–ด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
    • docker alpine ping localhost ํ…Œ์ŠคํŠธ๋กœ ํ•œ ๊ฐœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ๋™ํ•˜๊ณ  ์ด ์ปจํ…Œ์ด๋„ˆ์— ๋ช…๋ น์–ด๋ฅผ ์ „๋‹ฌํ•ด๋ณด์ž.
    • docker exec -it <์ปจํ…Œ์ด๋„ˆID> echo "hello" ๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.
  • ์ดํ•ด๋ฅผ ์œ„ํ•ด ์กฐ๊ธˆ ๋” ์‹ค์šฉ์ ์ธ ์˜ˆ์ œ๋ฅผ ๋ณด์ž
    • ํ•œ ์ชฝ์—์„œ Redis๋ฅผ ๊ตฌ๋™์‹œํ‚จ๋‹ค.
      • docker run redis
    • ๋‹ค๋ฅธ ํ•œ ์ชฝ์—์„œ Redis์˜ ํด๋ผ์ด์–ธํŠธ์— ์ ‘์†ํ•ด๋ณด์ž.
      • redis-cli
    • ์ด๋ ‡๊ฒŒ ๊ทธ๋ƒฅ redis-cli๋ฅผ ํ†ตํ•ด ์ ‘์†์„ ์‹œ๋„ํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
    • exec์„ ์ด์šฉํ•˜์—ฌ ์ ‘์†ํ•ด๋ณธ๋‹ค.
      • ์ ‘์† ์„ฑ๊ณต :)
  • ์ฐธ๊ณ  ... -it ???
    • -i : interative
    • -t : terminal
      • ๋‘ ์˜ต์…˜์„ ํ•จ๊ป˜ ์“ฐ๋ฉด ์ ‘์†ํ•œ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ ์ด์–ด์„œ ๋ช…๋ น์–ด ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.
    • ์•ž์„  redis์˜ˆ์ œ์™€ ๋™์ผํ•˜์ง€๋งŒ -it์˜ต์…˜์„ ์ œ๊ฑฐํ•˜๋‹ˆ ์ง€์†ํ•ด์„œ ๋ช…๋ น์–ด ์ˆ˜ํ–‰์ด ๋ถˆ๊ฐ€ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

sh

  • ํŠน์ • ์ปจํ…Œ์ด๋„ˆ์˜ ์‰˜ ํ™˜๊ฒฝ์œผ๋กœ ์ ‘๊ทผํ•  ๋•Œ ์ด์šฉ๋˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.
    • ๊ธฐ์กด์— docker exec -it ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜์˜€๋Š”๋ฐ ๋งค๋ฒˆ docker exec -it ๋ฅผ ์ ์–ด์ฃผ๊ธฐ ๋งค์šฐ ๊ท€์ฐฎ๊ณ  ์‹ซ๋‹ค..
    • ์•„์˜ˆ ํ•ด๋‹นํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์‰˜ ํ™˜๊ฒฝ์— ์ ‘๊ทผํ•˜์—ฌ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰์‹œ์ผœ ๋ณด์ž
    • docker exec -it container-ID sh
  • ํ…Œ์ŠคํŠธ
    • ํ•œ ์ชฝ ํ„ฐ๋ฏธ๋„์—์„œ๋Š” docker run alpine ping localhost ์‹คํ–‰
    • ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์—์„œ๋Š” docker exec -it <์ปจํ…Œ์ด๋„ˆID> sh ์‹คํ–‰
    • alpine ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ ์‰˜ ๋ช…๋ น์–ด ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค !
profile
์ข€ ๋” ์ฒœ์ฒœํžˆ ๊นŒ๋จน๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๐Ÿง

0๊ฐœ์˜ ๋Œ“๊ธ€