๋„์ปค ๊ด€๋ จ ์ •๋ณด
2025. 2. 21. 15:50

๐Ÿณ 1. ๋„์ปค ๊ธฐ๋ณธ ๋ช…๋ น์–ด

๋„์ปค ๋ฒ„์ „ ๋ฐ ์ •๋ณด ํ™•์ธ

docker --version    # ๋„์ปค ๋ฒ„์ „ ํ™•์ธ
docker info         # ๋„์ปค ์‹œ์Šคํ…œ ์ •๋ณด ํ™•์ธ

๋„์ปค ์‹คํ–‰ ์ƒํƒœ ํ™•์ธ

docker ps           # ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ํ™•์ธ
docker ps -a        # ์ค‘์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ํฌํ•จ ์ „์ฒด ๋ชฉ๋ก ํ™•์ธ

๐Ÿ—๏ธ 2. ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ

์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ฐ ์ƒ์„ฑ

docker run   # ๋„์ปค ํ…Œ์ŠคํŠธ ์‹คํ–‰
docker run -itd <์ด๋ฏธ์ง€ ID ๋˜๋Š” ์ด๋ฆ„:ํƒœ๊ทธ> bash  # ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ํ›„ ์‰˜ ์ ‘์† (/bin/bash ๊ฐ™์ด ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅ)
docker run -d -p 8080:80 <์ด๋ฏธ์ง€ ID ๋˜๋Š” ์ด๋ฆ„:ํƒœ๊ทธ>  # ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰, ํ˜ธ์ŠคํŠธ์˜ 8080 ํฌํŠธ๋ฅผ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ 80 ํฌํŠธ์™€ ์—ฐ๊ฒฐ
docker run --name my_container -d <์ด๋ฏธ์ง€ ID ๋˜๋Š” ์ด๋ฆ„:ํƒœ๊ทธ>  # ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์ง€์ • ์‹คํ–‰
docker run -it --gpus all <์ด๋ฏธ์ง€ ID ๋˜๋Š” ์ด๋ฆ„:ํƒœ๊ทธ>  # gpu ์‚ฌ์šฉ ๊ฐ€๋Šฅ
docker run -it --gpus all --name <๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„> <์ด๋ฏธ์ง€ ID ๋˜๋Š” ์ด๋ฆ„:ํƒœ๊ทธ>  # ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์ง€์ •
docker run -it --gpus all --shm-size=8g <์ด๋ฏธ์ง€ ID ๋˜๋Š” ์ด๋ฆ„:ํƒœ๊ทธ>  # ์ปจํ…Œ์ด๋„ˆ์— 8g ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น
  • -i (--interactive) : ์ž…๋ ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ชจ๋“œ๋กœ ์‹คํ–‰
  • -t (--tty) : ๊ฐ€์ƒ ํ„ฐ๋ฏธ๋„(tty) ์—ฐ๊ฒฐ์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
  • -d (--detach) : ์ปจํ…Œ์ด๋„ˆ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๊ณ„์† ์‹คํ–‰๋˜๋ฉฐ, docker ps๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
  • --shm-size=8g (๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ 8G)

์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ ๋ฐ ์‚ญ์ œ

docker stop <์ปจํ…Œ์ด๋„ˆ ID ๋˜๋Š” ์ด๋ฆ„>   # ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€
docker start <์ปจํ…Œ์ด๋„ˆ ID ๋˜๋Š” ์ด๋ฆ„>  # ์ปจํ…Œ์ด๋„ˆ ๋‹ค์‹œ ์‹œ์ž‘
docker restart <์ปจํ…Œ์ด๋„ˆ ID ๋˜๋Š” ์ด๋ฆ„>  # ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘
docker rm <์ปจํ…Œ์ด๋„ˆ ID ๋˜๋Š” ์ด๋ฆ„>  # ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ
docker rm -f $(docker ps -aq)  # ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ๊ฐ•์ œ ์‚ญ์ œ

์ปจํ…Œ์ด๋„ˆ ๋กœ๊ทธ ํ™•์ธ

docker logs <์ปจํ…Œ์ด๋„ˆ ID ๋˜๋Š” ์ด๋ฆ„>    # ์ปจํ…Œ์ด๋„ˆ ๋กœ๊ทธ ๋ณด๊ธฐ
docker logs -f <์ปจํ…Œ์ด๋„ˆ ID ๋˜๋Š” ์ด๋ฆ„>  # ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ณด๊ธฐ

๐Ÿ“ฆ 3. ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ

์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ ๋ฐ ๋ชฉ๋ก ํ™•์ธ

docker pull ubuntu          # ๋„์ปค ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ
docker images               # ๋„์ปค ์ด๋ฏธ์ง€ ๋ชฉ๋ก ํ™•์ธ
docker image ls             # ๋„์ปค ์ด๋ฏธ์ง€ ๋ชฉ๋ก ํ™•์ธ (๋™์ผ)

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

docker rmi <์ด๋ฏธ์ง€ ID ๋˜๋Š” ์ด๋ฆ„>    # ํŠน์ • ์ด๋ฏธ์ง€ ์‚ญ์ œ
docker rmi $(docker images -q)    # ๋ชจ๋“  ์ด๋ฏธ์ง€ ์‚ญ์ œ

์ปจํ…Œ์ด๋„ˆ์—์„œ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€ ์ƒ์„ฑ

docker commit <์ปจํ…Œ์ด๋„ˆ ID> my_custom_image  # ์ปจํ…Œ์ด๋„ˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋กœ ์ €์žฅ

๐Ÿ”— 4. ๋ณผ๋ฅจ ๋ฐ ๋„คํŠธ์›Œํฌ

๋ณผ๋ฅจ ๊ด€๋ฆฌ

docker volume ls  # ๋ณผ๋ฅจ ๋ชฉ๋ก ํ™•์ธ
docker volume create my_volume  # ์ƒˆ ๋ณผ๋ฅจ ์ƒ์„ฑ
docker volume rm my_volume  # ๋ณผ๋ฅจ ์‚ญ์ œ

๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ

docker network ls  # ๋„คํŠธ์›Œํฌ ๋ชฉ๋ก ํ™•์ธ
docker network create my_network  # ์ƒˆ ๋„คํŠธ์›Œํฌ ์ƒ์„ฑ
docker network rm my_network  # ๋„คํŠธ์›Œํฌ ์‚ญ์ œ

๐Ÿš€ 5. ๋„์ปค ์ปดํฌ์ฆˆ (Docker Compose)

๋„์ปค ์ปดํฌ์ฆˆ ์‹คํ–‰

docker-compose up  # docker-compose.yml ํŒŒ์ผ ์‹คํ–‰
docker-compose up -d  # ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰
docker-compose down  # ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ๋ฐ ๋„คํŠธ์›Œํฌ ์‚ญ์ œ

๐Ÿ” 6. ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ์ž‘์—…

์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ์ ‘์†

docker exec -it <์ปจํ…Œ์ด๋„ˆ ID ๋˜๋Š” ์ด๋ฆ„> bash  # ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ์ ‘์† (bash ๋˜๋Š” /bin/bash)
docker exec -it <์ปจํ…Œ์ด๋„ˆ ID ๋˜๋Š” ์ด๋ฆ„> sh  # (sh ์‚ฌ์šฉ)

ํŒŒ์ผ ๋ณต์‚ฌ

docker cp <ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ> <์ปจํ…Œ์ด๋„ˆ ID>:<์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ๊ฒฝ๋กœ>  # ํ˜ธ์ŠคํŠธ → ์ปจํ…Œ์ด๋„ˆ
docker cp <์ปจํ…Œ์ด๋„ˆ ID>:<์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ๊ฒฝ๋กœ> <ํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœ>  # ์ปจํ…Œ์ด๋„ˆ → ํ˜ธ์ŠคํŠธ

๐Ÿ† 7. ๊ธฐํƒ€ ์œ ์šฉํ•œ ๋ช…๋ น์–ด

์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฆฌ์†Œ์Šค ์ •๋ฆฌ

docker system prune  # ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ปจํ…Œ์ด๋„ˆ, ๋„คํŠธ์›Œํฌ, ์ด๋ฏธ์ง€ ์‚ญ์ œ
docker system prune -a  # ๋ชจ๋“  ๋ฏธ์‚ฌ์šฉ ๋ฆฌ์†Œ์Šค ์‚ญ์ œ

ํŠน์ • ํฌํŠธ ์‚ฌ์šฉ ์ปจํ…Œ์ด๋„ˆ ์ฐพ๊ธฐ

docker ps --filter "publish=8080"  # 8080 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ฐพ๊ธฐ
ํ“จ์–ด๋งฅ์Šค
ํ“จ์–ด๋งฅ์Šค
์˜๋ฏธ์žˆ๋Š” ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด ์‹œ์ž‘ํ•œ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค. ์‚ฌ๋ž‘ํ•ด์ฃผ์„ธ์š”~โค๏ธ