๐Ÿณ Docker

๋ณ„๋น›์‚ฌ๋ง‰ยท2025๋…„ 2์›” 24์ผ
0

docker

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

๋„์ปค ์‹คํ–‰ ๋ช…๋ น์–ด

docker run -it --name rocky-container rockylinux/rockylinux

๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ ์‰˜ ์ ‘์† ๋ช…๋ น์–ด

docker exec -it rocky-1 bash

โ“ 1. ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ?

  • ์„œ๋กœ ๋‹ค๋ฅธ ๋ฒ„์ „์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋™์‹œ์— ์ง„ํ–‰ํ•  ๋•Œ ํšจ์œจ์ ์ด๋‹ค.

  • ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์„œ๋กœ ๋‹ค๋ฅธ ๋ฒ„์ „์„ ํ•˜๋‚˜์˜ ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

  • ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ์ˆ˜๋งŒํผ ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•ด ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ฒ„์ „์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๋‹ค.

  • ๋„์ปค๋Š” ๊ฐ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์—์„œ ์ถฉ๋Œ ์—†์ด ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค.

  • ๋„์ปค์˜ ๋“ฑ์žฅ์œผ๋กœ ๊ฐ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์—์„œ ์ถฉ๋Œ์—†์ด ์ž‘์—…์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค.

2. ๋„์ปค์˜ ํŠน์ง•

  • ๋„์ปค๋Š” HOST OS์˜ ์ปค๋„์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ์„ค์น˜ํ•˜์ง€ ์•Š์•„๋„ ์ด๋ฏธ์ง€๋งŒ ์„ค์น˜ํ•˜๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋„์ปค๋Š” ๊ฐ€์ƒํ™”๋กœ ์ธํ•œ ์†๋„ ์ €ํ•˜๊ฐ€ ๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • ๊ฐ€์ƒ๋จธ์‹ ์ฒ˜๋Ÿผ OS๋ฅผ ํ†ต์งธ๋กœ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๊ฒฉ๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์ปจํ…Œ์ด๋„ˆ๋Š” ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๊ฐ€๋ณ๊ฒŒ ๋™์ž‘ํ•œ๋‹ค โ†’ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„์›Œ๋„ ๊ดœ์ฐฎ๋‹ค.

๐Ÿ“›ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ ๊ธฐ์ˆ ?
: ์ปจํ…Œ์ด๋„ˆ๋ผ๋ฆฌ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ž์›์„ ๋…์‹ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ง‰๊ธฐ ๋•Œ๋ฌธ์—, ํ˜ธ์ŠคํŠธ OS ์ž์›์„ ์•ˆ์ •์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

[๋„์ปค ์ด๋ฏธ์ง€์™€ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ์˜ ๋น„๊ต]

๋„์ปค์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ
๋„์ปค ์ด๋ฏธ์ง€(=OS + ํ”„๋กœ๊ทธ๋žจ)ํ”„๋กœ๊ทธ๋žจ
๋„์ปค ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œํ”„๋กœ๊ทธ๋žจ ์„ค์น˜
๋„์ปค ์ด๋ฏธ์ง€ ์ œ๊ฑฐํ”„๋กœ๊ทธ๋žจ ์ œ๊ฑฐ
๋„์ปค ์ด๋ฏธ์ง€ ์‹คํ–‰ => ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ => ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ
๋„์ปค ์ด๋ฏธ์ง€ 1๊ฐœ => ๋„์ปค ์ปจํ…Œ์ด๋„ˆ N๊ฐœํ”„๋กœ๊ทธ๋žจ 1๊ฐœ => ํ”„๋กœ์„ธ์Šค N๊ฐœ

3. ๋„์ปค vs ๊ฐ€์ƒ๋จธ์‹ 

ํŠน์ง•๋„์ปค ์ปจํ…Œ์ด๋„ˆ (Docker)๊ฐ€์ƒ๋จธ์‹  (Virtual Machine)
๋น„์œ ์•„ํŒŒํŠธ์˜ ๋ฐฉ์„ ๋นŒ๋ ค ์“ฐ๋Š” ๊ฒƒ (๊ณต์šฉ ๊ณต๊ฐ„์€ ๊ณต์œ , ๋ฐฉ์€ ๋…๋ฆฝ์ )๋•…์„ ์‚ฌ์„œ ๋…๋ฆฝ๋œ ์ง‘์„ ์ง“๋Š” ๊ฒƒ (๋ชจ๋“  ๊ณต๊ฐ„์ด ๋…๋ฆฝ์ )
๊ฐ€์ƒํ™” ๋ฐฉ์‹OS ์ˆ˜์ค€์—์„œ ๊ฐ€์ƒํ™” (ํ˜ธ์ŠคํŠธ OS์˜ ์ปค๋„์„ ๊ณต์œ )ํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ํ†ตํ•œ ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€ ๊ฐ€์ƒํ™”
์šด์˜์ฒด์ œ๋ณ„๋„์˜ OS ๋ถˆํ•„์š” (ํ˜ธ์ŠคํŠธ OS ๊ณต์œ )๊ฐ VM๋งˆ๋‹ค ๋…๋ฆฝ๋œ OS ์„ค์น˜ ํ•„์š”
์ž์› ์†Œ๋น„๊ฐ€๋ณ๊ณ  ์ ์€ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ (๊ณต์šฉ ์ž์›์„ ํ™œ์šฉ)๋ฌด๊ฒ๊ณ  ๋งŽ์€ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ (์ž์ฒด ์ž์› ํ•„์š”)
์‹œ์ž‘ ์†๋„๋น ๋ฆ„ (๋ช‡ ์ดˆ ๋‚ด๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅ, ๋ฐฉ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ)๋А๋ฆผ (์ง‘์„ ์ง“๋Š” ์‹œ๊ฐ„ ํ•„์š”, ์ˆ˜ ๋ถ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Œ)
๊ฒฉ๋ฆฌ ์ˆ˜์ค€ํ”„๋กœ์„ธ์Šค ์ˆ˜์ค€์—์„œ ๊ฒฉ๋ฆฌ (๊ฐ™์€ ๊ฑด๋ฌผ ๋‚ด์˜ ๋ฐฉ๋ณ„๋กœ ๋…๋ฆฝ์ )ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€ ๊ฒฉ๋ฆฌ (์ง‘์ด ๋”ฐ๋กœ ๋–จ์–ด์ ธ ์žˆ์–ด ์™„์ „ํžˆ ๋…๋ฆฝ์ )
์„ฑ๋Šฅ ์˜ค๋ฒ„ํ—ค๋“œ๋‚ฎ์Œ (์ปค๋„ ๊ณต์œ ๋กœ ์ธํ•œ ์˜ค๋ฒ„ํ—ค๋“œ ์ ์Œ)๋†’์Œ (์ „์ฒด OS๊ฐ€ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ)
์œ ์—ฐ์„ฑํ˜ธ์ŠคํŠธ OS์— ์ข…์†์  (๊ฐ™์€ ์ปค๋„ ๋ฒ„์ „์„ ๊ณต์œ )๋‹ค์–‘ํ•œ OS ์‹คํ–‰ ๊ฐ€๋Šฅ (์˜ˆ: Windows์—์„œ Linux ์‹คํ–‰ ๊ฐ€๋Šฅ)
๋ณด์•ˆ์„ฑ๋‚ฎ์Œ (์ปค๋„ ๊ณต์œ ๋กœ ์ธํ•ด ๋ณด์•ˆ์ƒ ์œ„ํ—˜์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ)๋†’์Œ (๋…๋ฆฝ๋œ OS์™€ ์ปค๋„๋กœ ์™„๋ฒฝํ•œ ๊ฒฉ๋ฆฌ ์ œ๊ณต)
์ด๋ฏธ์ง€ ํฌ๊ธฐ์ž‘์Œ (ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ํฌํ•จ, ๋ณดํ†ต ์ˆ˜๋ฐฑ MB)ํผ (์ „์ฒด OS ํฌํ•จ, ๋ณดํ†ต ์ˆ˜ GB ์ด์ƒ)
๋ฐฐํฌ ๋ฐ ํ™•์žฅ์„ฑ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ๋ฐฐํฌ ๋ฐ ํ™•์žฅ ๊ฐ€๋Šฅ (๋ฐฉ ์ถ”๊ฐ€๋งŒ ํ•˜๋ฉด ๋จ)์ƒ๋Œ€์ ์œผ๋กœ ๋А๋ฆฌ๊ณ  ๋ณต์žกํ•จ (์ƒˆ๋กœ์šด ์ง‘์„ ์ง“๋Š” ๊ณผ์ • ํ•„์š”)
์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, CI/CD ํŒŒ์ดํ”„๋ผ์ธ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ, ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ๋ณต์žกํ•œ ์ธํ”„๋ผ, ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰, ๋‹ค์–‘ํ•œ OS ํ™˜๊ฒฝ ํ…Œ์ŠคํŠธ

4. ๋„์ปค ๋ช…๋ น์–ด

  • ๋„์ปค ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ : docker pull [์ด๋ฏธ์ง€ ์ด๋ฆ„]

    • ๋ฒ„์ „์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์œผ๋ฉด latest(์ตœ์‹ )์„ ๋‹ค์šด ๋ฐ›๋Š”๋‹ค.
    • docker pull ํ•˜๋Š” ์ˆœ๊ฐ„, docker hub(๊ณต์‹ ์ €์žฅ์†Œ) ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›์•„์ง„๋‹ค.
  • ๋‹ค์šด๋กœ๋“œ ๋œ ์ด๋ฏธ์ง€ ๋ชฉ๋ก ํ™•์ธ : docker images

  • ์ด๋ฏธ์ง€ ์‚ญ์ œ : docker rmi [์ด๋ฏธ์ง€ ์ด๋ฆ„]

  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ : docker run [์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„]
  • ์‹คํ–‰๋œ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ํ™•์ธ : docker ps -a
  • ์ปจํ„ฐ์ด๋„ˆ ์‚ญ์ œ : docker rm
    - ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ ์‹œ, CONTAINER ID์˜ ์•ž 3๊ธ€์ž๋งŒ ์ž‘์„ฑํ•ด๋„ ์ง€์›Œ์ง„๋‹ค.

5. ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๊ฐœ๋…

  • ์ผ๋ฐ˜์ ์œผ๋กœ OS๋Š” ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ OS๊ฐ€ ์ข…๋ฃŒ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค.

    But, ๋„์ปค ์ด๋ฏธ์ง€(OS+ํ”„๋กœ๊ทธ๋žจ) ์‹คํ–‰ โ†’ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ โ†’ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ์ฃผ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰
    if) ์ฃผ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ โ†’ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ

  • ๋„์ปค์—์„œ docker run ๋ช…๋ น์–ด๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ด๋ถ€์—์„œ ์ž‘๋™ํ•˜๋Š” ์ฃผ ํ”„๋กœ์„ธ์Šค ๊ฐ€ ์žˆ๋‹ค.

  • ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ์—๋Š” ๋ฌด์กฐ๊ฑด 1๊ฐœ์˜ ์ฃผ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

  • ๋ฌผ๋ก  ์ฃผ ํ”„๋กœ์„ธ์Šค ๋ง๊ณ ๋„ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

  • ์ฃผ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์ตœ์ข… ์‹คํ–‰ ๋ช…๋ น์–ด ๋ผ๊ณ  ํ•œ๋‹ค.

  • ์ตœ์ข…์‹คํ–‰ ๋ช…๋ น์–ด๋Š” ์—”ํŠธ๋ฆฌํฌ์ธํŠธ + ๋ช…๋ น์–ด๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

  • ์ปจํ…Œ์ด๋„ˆ๋Š” ๋‚ด๋ถ€์—์„œ ์‹คํ–‰๋œ ์ฃผ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋„ ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋œ๋‹ค.

docker run nginx  : entrypoint๋กœ ์ง€์ •ํ•œ nginx ์›น์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋œ๋‹ค. -> ctrl+C ํ•˜์ง€ ์•Š์€ ํ•œ ๊ณ„์† ์‹คํ–‰๋จ
docker run --entrypoint ls nginx : ls ๋ช…๋ น์–ด ์‹คํ–‰ ํ›„ ์ข…๋ฃŒ๋จ
docker run hello-world : /hello ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰๋˜์–ด ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ ํ›„ ์ข…๋ฃŒ๋จ

6. ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ณธ ์—”ํŠธ๋ฆฌํฌ์ธํŠธ ์žฌ์ง€์ •

  • ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์—์„œ๋Š” entrypoint์—์„œ ์‹คํ–‰๋œ๊ฒŒ ์ข…๋ฃŒ๋˜๋ฉด OS๋„ ์ข…๋ฃŒ๋œ๋‹ค.
  • --entrypoint ์˜ต์…˜์€ ๋‹จ์ผ ๋ช…๋ น๋งŒ ๋ฐ›๊ฒŒ ๋˜์–ด ์žˆ๋‹ค.
    ๋งŒ์•ฝ, ๋ณตํ•ฉ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

docker run --entrypoint ls nginx #๋‹จ์ผ ๋ช…๋ น

docker run --entrypoint ls -al nginx (X) #๋ณตํ•ฉ ๋ช…๋ น
docker run --entrypoint bash nginx -c "ls -al" (o)
docker run --entrypoint bash nginx -c "echo Hello"(O)

$ docker run -it --entrypoint bash nginx
-it : interaction์˜ ์•ฝ์ž
: ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹คํ–‰๋˜๋˜ Nginx ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ , ๋Œ€์‹  bash ์…ธ์„ ์‹คํ–‰
์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์ง์ ‘ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋กœ ์ง„์ž…
ex. root@<container_id>:/#

...์ข…๋ฃŒ๋ฅผ ์›ํ•˜๋ฉด exit์„ ์ž…๋ ฅ

7. ๋„์ปค ์ด๋ฏธ์ง€ ์ •๋ณด ํ™•์ธ

  • ์ฃผ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ = ENTRYPOINT + CMD โ†’ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ๋ฉ”์ธ ํ”„๋กœ์„ธ์Šค

    "์ปจํ…Œ์ด๋„ˆ๋Š” ๋ฉ”์ธ ํ”„๋กœ์„ธ์Šค(main process)๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ๋งŒ ์œ ์ง€๋˜๊ณ , ๋ฉ”์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋„ ์ข…๋ฃŒ๋œ๋‹ค."

๐Ÿ“›ENTRYPOINT ์™€ CMD ์„ค์ •๊ฐ’์€ ์–ด๋–ป๊ฒŒ ์•Œ์ง€?
โ†’ docker inspect ๋ช…๋ น์–ด๋กœ ํ™•์ธ

docker run nginx
= docker run --entrypoint bash nginx -c '/docker-entrypoint.sh nginx -g "daemon off;"'

โ†’ ๋‚ด๋ถ€์—์„œ ๋”๋ธ” ์ฟผํŠธ (" ")๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์™ธ๋ถ€๋Š” ์‹ฑ๊ธ€ ์ฟผํŠธ (' ')๋กœ ๊ฐ์‹ธ์•ผํ•œ๋‹ค.

8. ๋ฌธ์ œ

๋ฌธ์ œ) docker run nginx ls -al ๋งŒ ํ•ด๋„ ๋งˆ์น˜ ์—”ํŠธ๋ฆฌํฌ์ธํŠธ๊ฐ€ ๋Œ€์ฒด๋˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ์‹คํ–‰๋˜๋Š” ์ด์œ ๋Š”?

  • ํ˜„์žฌ๋Š” CMD๋งŒ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•˜๊ณ  ์žˆ๋‹ค
  • ํžŒํŠธ docker-entrypoint.sh ์˜ ์ž‘๋™๋ฐฉ์‹

์ƒํ™ฉ) ENTRYPOINT๊ฐ€ Nginx ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์•ผํ•˜๋Š”๋ฐ ls -al ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋‹ˆ๊นŒ ์—”ํŠธ๋ฆฌํฌ์ธํŠธ๊ฐ€ ํ•ด๋‹น ๋ช…๋ น์–ด ์ˆ˜ํ–‰์œผ๋กœ ๋Œ€์ฒด๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‹คํ–‰๋˜๋Š” ๊ฒƒ ๊ฐ™์•„ ๋ณด์ธ๋‹ค.

์ •๋‹ต) ENTRYPOINT (/docker-entrypoint.sh)๋Š” ํ•ญ์ƒ ์‹คํ–‰๋œ๋‹ค.
๋‹จ, ENTRYPOINT๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฒฝ์šฐ ๋นผ๊ณ 

ํ•˜์ง€๋งŒ exec "$@" ๋ช…๋ น์–ด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ „๋‹ฌ๋œ ๋ช…๋ น์–ด(์˜ˆ: ls -al)๊ฐ€ ์‹คํ–‰๋˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹คํ–‰๋ผ์•ผ ํ•  Nginx ๋ช…๋ น์–ด ๋Œ€์‹  ์ „๋‹ฌ๋œ ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด๋‹ค.

docker run nginx โ†’ ENTRYPOINT + ๊ธฐ๋ณธ CMD ์‹คํ–‰ โ†’ Nginx ์„œ๋ฒ„ ์‹คํ–‰
docker run nginx ls -al โ†’ ENTRYPOINT + ์ƒˆ๋กœ์šด CMD(ls -al) ์‹คํ–‰ โ†’ ํŒŒ์ผ ๋ชฉ๋ก ์ถœ๋ ฅ

profile
์กฐ๊ธˆ์”ฉ ๋งค์ผ ์„ฑ์žฅํ•˜์ž

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