1 minute read

Docker build

Docker image file 생성

docker build --tag [repository name]:[tag] .
  • -t, –tag: 새로 생성할 image의 name을 지정
  • 마지막의 점(.)은 Dockerfile 위치를 경로로 지정. 파일 이름이 Dockerfile이 아닌 경우 –file(-f) 옵션을 사용해서 파일 이름을 지정.

생성한 Docker image를 사용해 Container 생성 및 실행

docker run --rm [repository name]:[tag]
  • –name: Container에 할당할 이름
  • -p, –publish: host에 container port 5000번 publish
  • -d, –detech: daemon으로 실행(background)
  • -i, –iterative: 표준 입력(stdin)을 활성화하고, container와 연결되어 있지 않더라도 표준 입력 유지
  • -t, –tty: TTY 모드 사용(for bash)
  • -v, –volume: Data volume을 설정, Host와 container의 directory를 연결하여, file을 container에 저장하지 않고 host에 바로 저장(mount)
  • -u, –user: Container가 실행될 linux user account 이름 또는 UID를 설정
    • –user root
  • -h, –hostname: Container의 host name을 설정
  • -w, –workdir: Container 안의 proces가 실행될 directory를 설정
  • -a, –attach: Container에 stdin, stdout, stderr를 연결
  • -e, –env: Container 내에서 사용할 환경 변수를 설정, 보통 설정 값이나 비밀번호 전달 시 사용
  • -c, –cpu-shares: CPU resource 분배 설정, 기본 값은 1024
  • -m, –memory: 메모리 한계를 설정, 단위는 b, k, m, g를 사용할 수 있음
    • –memory=”1000000b”
  • –privileged: Container 안에서 host의 linux kernel 기능(Capability)을 모두 사용
  • –rm: Container 내부 process 종료 시 container 자동 제거
  • –link: Container끼리 연결
    • –link=”db:db”
  • –gpus: Container에서 host의 NVIDIA GPU를 사용할 수 있도록 설정. Docker 19.03.5 version 이상 제공
  • –security-opt: SELinux, AppArmor 옵션을 설정
  • –restart=always: 부팅 시 자동 시작

Leave a comment