C.W.K.
Stream
Lesson 02 of 05 · published

docker run — Flag 어휘

~18 min · commands, lifecycle

Level 0Container 호기심
0 XP0/36 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

명령 하나, flag 수십 개, 매일 쓰는 건 8개

docker run 은 image 에서 container 만들고 시작해. 매일 쓰는 거의 전부가 작은 flag 집합이야.

매일 쓰는 8개

  • -d — detached (백그라운드). 없으면 CLI 가 container stdout 에 attach.
  • --name foo — 사람 이름. 없으면 Docker 가 amused_curie 같은 거 만들어.
  • --rm — exit 시 container 제거. 일회성 작업에 완벽.
  • -it — interactive + TTY. shell 과 REPL 용.
  • -p 8080:80 — host:container 포트 매핑.
  • -v name:/path 또는 -v $(pwd):/path — volume / bind mount.
  • -e KEY=VALUE 또는 --env-file .env — env var.
  • --restart unless-stopped — restart 정책. 장기 실행 서비스의 옳은 디폴트.

기억할 모드 셋

Foreground: docker run image — 띄우고 attach. Ctrl-C 로 멈춤.

One-off: docker run --rm -it image bash — interactive shell, 자동 정리.

Service: docker run -d --name app --restart unless-stopped -p 8080:80 image — 장기 실행, 이름 있고, 포트 매핑, 자동 재시작.

Code

세 패턴 나란히·bash
# Pattern 1: One-off REPL
docker run --rm -it python:3.12 python
# Drops you into Python. Container vaporizes on exit.

# Pattern 2: Background service
docker run -d \
  --name web \
  --restart unless-stopped \
  -p 8080:80 \
  -e NGINX_HOST=example.com \
  nginx:1.27-alpine

# Pattern 3: Debug a base image
docker run --rm -it ubuntu:24.04 bash
# Inside: apt-get update, install tools, poke around.
# Exit and the container is gone.
런타임에 CMD 오버라이드·bash
# The image's default CMD is 'nginx -g daemon off;'
# Override it for a one-off check:
docker run --rm nginx:1.27-alpine nginx -v
# nginx version: nginx/1.27.x

# Or get a shell instead:
docker run --rm -it nginx:1.27-alpine sh

External links

Exercise

redis:7-alpine container 를 장기 서비스로 띄워: detached, 이름 cache, 포트 6379 호스트 매핑, restart 정책 unless-stopped. 그리고 다른 container 에서 일회성 redis-cli 로 붙어서 ping. 두 명령 다 캡처.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.