๐ŸŸข 1. ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ฐ ์ƒ์„ฑ

๋ช…๋ น์–ด์„ค๋ช…์ž์ฃผ ์“ฐ๋Š” ์˜ต์…˜/์˜ˆ์‹œ
docker run [์˜ต์…˜] <์ด๋ฏธ์ง€> ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ + ์‹คํ–‰ -d ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰
--name ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์ง€์ •
-p <ํ˜ธ์ŠคํŠธํฌํŠธ:์ปจํ…Œ์ด๋„ˆํฌํŠธ> ํฌํŠธ ๋งคํ•‘
-v <ํ˜ธ์ŠคํŠธ๊ฒฝ๋กœ:์ปจํ…Œ์ด๋„ˆ๊ฒฝ๋กœ> ๋ณผ๋ฅจ ๋งˆ์šดํŠธ
์˜ˆ: docker run -d --name web -p 8080:80 nginx
docker create [์˜ต์…˜] <์ด๋ฏธ์ง€> ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ปจํ…Œ์ด๋„ˆ๋งŒ ์ƒ์„ฑ ์‹คํ–‰์€ docker start๋กœ ๋”ฐ๋กœ ํ•จ

๐ŸŸก 2. ์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ ํ™•์ธ

๋ช…๋ น์–ด์„ค๋ช…์˜ˆ์‹œ
docker ps ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ํ‘œ์‹œ -a ์˜ต์…˜: ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ๊นŒ์ง€ ๋ชจ๋‘ ๋ณด๊ธฐ
docker inspect <์ปจํ…Œ์ด๋„ˆID/์ด๋ฆ„> ์ปจํ…Œ์ด๋„ˆ์˜ ์„ธ๋ถ€ ์„ค์ •·์ƒํƒœ(JSON) ์กฐํšŒ docker inspect web
docker logs <์ปจํ…Œ์ด๋„ˆID/์ด๋ฆ„> ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ถœ๋ ฅ๋œ ๋กœ๊ทธ ํ™•์ธ -f ์˜ต์…˜: ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ์ŠคํŠธ๋ฆฌ๋ฐ
docker stats ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋“ค์˜ CPU·๋ฉ”๋ชจ๋ฆฌ·๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ๋Ÿ‰ ๋ชจ๋‹ˆํ„ฐ๋ง  

๐Ÿ”ต 3. ์ปจํ…Œ์ด๋„ˆ ์ œ์–ด(์‹คํ–‰·์ค‘์ง€·์žฌ์‹œ์ž‘ ๋“ฑ)

๋ช…๋ น์–ด์„ค๋ช…์˜ˆ์‹œ
docker start <์ปจํ…Œ์ด๋„ˆ> ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ docker start web
docker stop <์ปจํ…Œ์ด๋„ˆ> ์ •์ƒ ์ข…๋ฃŒ (SIGTERM → SIGKILL) docker stop web
docker restart <์ปจํ…Œ์ด๋„ˆ> ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘ docker restart web
docker pause <์ปจํ…Œ์ด๋„ˆ> ์ปจํ…Œ์ด๋„ˆ์˜ ํ”„๋กœ์„ธ์Šค ์ผ์‹œ ์ค‘์ง€  
docker unpause <์ปจํ…Œ์ด๋„ˆ> ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ์žฌ๊ฐœ  
docker kill <์ปจํ…Œ์ด๋„ˆ> ๊ฐ•์ œ ์ข…๋ฃŒ (SIGKILL) ๋น ๋ฅด๊ฒŒ ์ข…๋ฃŒํ•  ๋•Œ ์‚ฌ์šฉ

๐ŸŸ  4. ์ปจํ…Œ์ด๋„ˆ ์ ‘๊ทผ ๋ฐ ๋ช…๋ น ์‹คํ–‰

๋ช…๋ น์–ด์„ค๋ช…์˜ˆ์‹œ
docker exec [์˜ต์…˜] <์ปจํ…Œ์ด๋„ˆ> <๋ช…๋ น> ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ๋ช…๋ น ์‹คํ–‰ -it ์˜ต์…˜: ํ„ฐ๋ฏธ๋„ ๋ชจ๋“œ๋กœ ์ ‘์†
docker exec -it web bash → web ์ปจํ…Œ์ด๋„ˆ์— ์‰˜ ์ ‘์†
docker attach <์ปจํ…Œ์ด๋„ˆ> ํ˜„์žฌ ํ„ฐ๋ฏธ๋„์„ ์ปจํ…Œ์ด๋„ˆ์˜ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์— ์—ฐ๊ฒฐ ์ฃผ์˜: exit ์‹œ ์ปจํ…Œ์ด๋„ˆ๋„ ์ค‘์ง€๋  ์ˆ˜ ์žˆ์Œ

๐Ÿ”ด 5. ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ

๋ช…๋ น์–ด์„ค๋ช…์˜ˆ์‹œ
docker rm <์ปจํ…Œ์ด๋„ˆ> ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ -f ์˜ต์…˜: ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ•์ œ๋กœ ์‚ญ์ œ
docker container prune ๋ชจ๋“  ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ์ผ๊ด„ ์‚ญ์ œ -f ์˜ต์…˜: ํ™•์ธ ๋ฉ”์‹œ์ง€ ์—†์ด ๋ฐ”๋กœ ์‚ญ์ œ

๐Ÿ“ ์ถ”๊ฐ€ ๊ฟ€ํŒ

  • ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ๋Œ€์‹  ID ์•ž ๋ช‡ ๊ธ€์ž๋งŒ ์ž…๋ ฅํ•ด๋„ ์ธ์‹๋จ: docker stop a1b2c3
  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์‹œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •:
  •  
    docker run -d -e MYSQL_ROOT_PASSWORD=1234 mysql:8
  • ๋ณผ๋ฅจ ๋งˆ์šดํŠธ๋กœ ๋ฐ์ดํ„ฐ ๋ณด์กด:
  •  
    docker run -d -v /local/data:/var/lib/mysql mysql:8
  • ์ž์ฃผ ์“ฐ๋Š” docker run ์กฐํ•ฉ ์˜ˆ์‹œ:
  •  
    docker run -d --name myapp -p 8080:80 -v $(pwd):/usr/share/nginx/html nginx

๐Ÿ“Œ ์ •๋ฆฌ

  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰: docker run, docker start
  • ์ƒํƒœ ํ™•์ธ: docker ps, docker logs, docker inspect
  • ์ œ์–ด: docker stop, docker restart, docker exec
  • ์‚ญ์ œ: docker rm, docker container prune

์ด ๋ช…๋ น์–ด๋“ค์„ ์ตํžˆ๋ฉด ์ปจํ…Œ์ด๋„ˆ์˜ ์ƒ๋ช…์ฃผ๊ธฐ(Lifecycle) ๋ฅผ ๊ฑฐ์˜ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

์ปจํ…Œ์ด๋„ˆ “๋งคํ•‘(mapping)” ์ด๋ผ๊ณ  ํ•˜๋ฉด ์ฃผ๋กœ ํ˜ธ์ŠคํŠธ ↔ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ๋ฆฌ์†Œ์Šค ์—ฐ๊ฒฐ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.
Docker์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ์“ฐ๋Š” ๋งคํ•‘์€ ํฌํŠธ ๋งคํ•‘๊ณผ ๋ณผ๋ฅจ(๋””๋ ‰ํ† ๋ฆฌ) ๋งคํ•‘ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.


๐Ÿ”ต 1. ํฌํŠธ ๋งคํ•‘ (Port Mapping)

ํ˜ธ์ŠคํŠธ์˜ ํฌํŠธ๋ฅผ ์ปจํ…Œ์ด๋„ˆ์˜ ํฌํŠธ์— ์—ฐ๊ฒฐํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ์ปจํ…Œ์ด๋„ˆ์˜ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์–ด

docker run -d -p <ํ˜ธ์ŠคํŠธํฌํŠธ>:<์ปจํ…Œ์ด๋„ˆํฌํŠธ> <์ด๋ฏธ์ง€>
์˜ˆ์‹œ์„ค๋ช…
docker run -d -p 8080:80 nginx ํ˜ธ์ŠคํŠธ 8080 ํฌํŠธ → ์ปจํ…Œ์ด๋„ˆ 80 ํฌํŠธ ์—ฐ๊ฒฐ → ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:8080 ์ ‘์† ๊ฐ€๋Šฅ
docker run -d -p 127.0.0.1:5000:5000 myapp ํŠน์ • ํ˜ธ์ŠคํŠธ IP(127.0.0.1) ์˜ 5000 → ์ปจํ…Œ์ด๋„ˆ 5000
docker run -d -P nginx -P ์˜ต์…˜: Docker๊ฐ€ ์ปจํ…Œ์ด๋„ˆ์˜ EXPOSE๋œ ํฌํŠธ๋ฅผ ๋žœ๋ค ํ˜ธ์ŠคํŠธ ํฌํŠธ๋กœ ์ž๋™ ๋งคํ•‘

๐Ÿ‘‰ ํ˜„์žฌ ๋งคํ•‘ ์ƒํƒœ ํ™•์ธ:

docker port <์ปจํ…Œ์ด๋„ˆ์ด๋ฆ„>
 

'DOCKER' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[DOCKER] Image ๊ด€๋ จ ๋ช…๋ น์–ด  (0) 2025.09.30
[DOCKER] ๊ธฐ๋ณธ ๊ฐœ๋…  (0) 2025.09.30

+ Recent posts