ComputerScience/Docker

[Docker] 6. Docker Container Run

kyungmin.yu 2019. 4. 27. 13:14

컨테이너 생성 및 시작

: Docker 컨테이너의 생성 및 시 구문은 다음과 같음 docker container run [옵션] 이미지명[:태그명] [인수]

    주요 옵션

    --attach, -a: 표준 입력, 출력, 오류 출력에 어태치함

    --cidfile: 컨테이너 아이디를 파일로 출력함

    --detach, -d: 컨테이너를 생성하고 백그라운드에서 실행함

    --interactive, -i: 컨테이너의 표준 입력을 연다.

    --tty, -t: 단말기 디바이스를 사용함

 

백그라운드 컨테이너 생성 및 시작

: Docker를 사용하는 경우 대부분 컨테이너에 서버 기능을 가지게 해서 실행하는 경우이다.

Docker 컨테이너를 백그라운드에서 실행하기위한 구문은 아래와 같음

docker container run [실행 옵션] 이미지명[:태그명] [인수]

    주요 옵션

    --detach, -d: 컨테이너를 백그라운드에서 실행

    --user, -u: 사용자 명을 지정

    --restart=[no | on-failure | on-failure:#n | always | unless-stopped ]

        no: 재시작 하지 않음

        on-failure: 종료 스테이터스가 0이 아닐 때 재시작

        on-failure:#n: 종료 스테이터스가 0이 아닐 n재시작

        always: 항상 재시작

        unless-stopped: 최근 컨테이너가 정지상태가 아니라면 재시작

    --rm: 명령 실행 완료 후 컨테이너를 자동으로 삭제

 

컨테이너의 네트워크 설정

: 컨테이너의 네트워크를 설정하는 구문은 아래와 같음

docker container run [네트워크 옵션] 이미지명[:태그명] [인수]

    주요 옵션

    --add-host=[호스트명:IP 주소]: 컨테이너의 /etc/hosts호스트명과 IP주소를 정의

    --dns=[IP 주소]: 컨테이너용 DNS서버의 IP 주소 지정

    --expose: 지정한 범위의 포트번호를 할당

    --mac-address=[MAC 주소]: 컨테이너의 MAC 주소를 지정

    --net=[bridge | none | container:[name | id] | host | NETWORK]: 컨테이너의 네트워크를 지정

        bridge: 브리지 연결(기본값)을 사용함

        none: 네트워크에 연결하지 않음

        container:[name | id]: 다른 컨테이너의 네트워크를 사용함

        host: 컨테이너가 호스트 OS의 네트워크를 사용함

        NETWORK: 사용자 정의 네트워크를 사용함

    --hostname, -h: 컨테이너 자신의 호스트명을 지정

    --publish, -p[호스트의 포트 번호]:[컨테이너의 포트 번호]: 호스트와 컨테이너의 포트 매핑

    --publish-all, -p: 호스트의 임의의 포트를 컨테이너에 할당

 

자원을 지정하여 컨테이너 생성 및 실행

: CPU나 메모리와 같은 자원을 지정하여 컨테이너를 생성 및 실행하는 구문은 아래와 같음

docker container run [자원 옵션] 이미지명[:태그명] [인수]

    주요 옵션

    --cpu-shares, -c: CPU의 사용 배분(비율)

    --memory, -m: 사용할 메모리를 제한하여 실행(단위는 b, k, m, g 중 하나)

    --volume=[호스트의 디렉토리]:[컨테이너의 디렉토리], v: 호스트와 컨테이너간 디렉토리를 공유

    

컨테이너를 생성하는 시작 환경을 지정

: 컨테이너의 환경변수나 컨테이너 안의 작업 디렉토리등을 지정하여 컨테이너를 생성 및 실행하는 구문은 아래와 같음

docker container run [환경설정 옵션] 이미지명[:태그명] [인수]

    주요 옵션

    --env=[환경변수], -e: 환경변수 설정

    --env-file=[파일명]: 환경변수를 파일로부터 설정

    --read-only=[true | false]: 컨테이너 파일 시스템을 읽기 전용으로 만듬

    --workdir=[경로], -w: 컨테이너의 작업 디렉토리를 지정함

    --u, --user=[사용자명]: 사용자명 또는 UID를 지정함