320x100
320x100
도커 컨테이너 실행 명령어 포맷
docker run [옵션] 이미지_식별자 [커맨드] [인자]
: 이미지 식별자의 경우 필수 요소이며 이미지 ID나
레포지터리:태그 형식으로 작성
docker run 주요 옵션
-it
: 표준 입력(stdin)을 활성화하며 컨테이너와 연결(attach)되어 있지 않더라도 표준 입력을 유지, bash
: tty를 사용하여 터미널 bash를 사용하기 위한 옵션
-d
: 백그라운드로 컨테이너를 실행
--name
: 컨테이너의 이름을 부여하여 관리하기 쉽도록 설정
-e
: 컨테이너의 환경변수를 설정하기 위한 옵션
-p
: 포트포워딩을 위한 옵션
-v
: 호스트와 컨테이너간의 볼륨 설정
: 호스트의 특정 디렉터리를 컨테이너의 특정 경로로 마운트
-w
: 도커 파일의 WORKDIR 설정을 덮어쓰기 위한 옵션
--rm
: 컨테이너를 일회성으로 실행할때 주로 사용
: 컨테이너가 종료될때 컨테이너와 관련된 리소스까지 제거
도커 컨테이너 생성 옵션 (docker run 옵션 모음)
-a | --attach=[]: 컨테이너에 표준 입력(stdin), 표준 출력(stdout), 표준 에러(stderr)를 연결 --attach=”stdin” |
--add-host=[] | /etc/hosts에 호스트 이름과 IP 주소를 추가 --add-host=test:192.168.0.10 |
-c | --cpu-shares=0: CPU 자원 분배 설정 기본 값은 1024 --cpu-shares=2048처럼 설정하면 기본 값 보다 두 배 많은 CPU 자원을 할당 설정 값은 리눅스 커널의 cgroups |
--cap-add=[] | 컨테이너에서 cgroups의 특정 Capability를 사용 , ALL 도 가능 |
--cap-drop=[] | 컨테이너에서 cgroups의 특정 Capability를 제외 |
--cidfile=”” | cid 파일 경로를 설정 |
--cpuset | 멀티코어 CPU에서 컨테이너가 실행될 코어를 설정 --cpuset=”0,1”처럼 설정하면 첫 번째, 두 번째 CPU 코어를 사용 --cpuset=”0-3”처럼 설정하면 첫 번째 CPU 코어부터 네 번째까지 사용 0이 첫번째인 것을 확인... |
-d | Detached 모드입니다. 보통 데몬 모드라고 부르며 컨테이너가 백그라운드로 실행 |
--device=[] | --device=[]: 호스트의 장치를 컨테이너에서 사용할 수 있도록 연결 --device=”/dev/sda1:/dev/sda1”처럼 설정하면 호스트의 /dev/sda1 블록 장치를 컨테이너에서도 사용 가능 |
--dns=[] | 컨테이너에서 사용할 DNS 서버를 설정 |
--dns-search=[] | 컨테이너에서 사용할 DNS 검색 도메인을 설정 --dns-search=”test.com” 설정하면 처음으로 찾는다. |
-e, --env=[] | 컨테이너에 환경 변수를 설정 , 주로 설정 값이나 비밀번호를 전달할 때 사용한다. e MYSQL_ROOT_PASSWORD=testpass |
--entrypoint=”” | Dockerfile의 ENTRYPOINT 설정을 무시하고 강제로 다른 값을 설정 |
--env-file=[] | 컨테이너에 환경 변수가 설정된 파일을 적용 --env-file=”/etc/test.env” |
--expose=[] | 컨테이너의 포트를 호스트와 연결 ,외부에 노출 하지 않는다. |
-h, --hostname="" |
컨테이너의 호스트 이름을 설정 |
-i, --interactive=false |
표준 입력(stdin)을 활성화하며 컨테이너와 연결(attach)되어 있지 않더라도 표준 입력을 유지, bash |
--link=[] | 컨테이너끼리 연결, <컨테이너 이름>:<별칭> |
--lxc-conf=[] | LXC 드라이버를 사용한다면 LXC 옵션을 설정 |
-m, --memory=”” | 메모리 한계를 설정 , <숫자 단위> 형식이며 단위는 b, k, m, g --memory=”3g” |
--name | 컨테이너에 이름을 설정 |
--net=”bridge” | 컨테이너의 네트워크 모드를 설정 |
-P --publish-all=false |
호스트에 연결된 컨테이너의 모든 포트를 외부에 노출 |
-p, --publish=[] | 특정 포트를 외부에 노출 IP 주소:호스트 포트:컨테이너 포트, 호스트에 네트워크 인터페이스가 여러 개이거나 IP 주소가 여러 개 일 때 사용 IP 주소::컨테이너 포트 ,호스트 포트를 설정하지 않으면 호스트의 포트 번호가 무작위로 설정 <컨테이너 포트> 컨테이너 포트만 설정하면 호스트의 포트 번호가 무작위로 설정 |
--privileged=false | 컨테이너 안에서 호스트의 리눅스 커널 기능(Capability)을 모두 사용 |
--restart=”” | 컨테이너 안의 프로세스 종료 시 재시작 정책을 설정 no: 프로세스가 종료되더라도 컨테이너를 재시작하지 않습니다 on-failure: 프로세스의 Exit Code가 0이 아닐 때만 재시작 always: 프로세스의 Exit Code와 상관없이 재시작 |
--rm=false | : 컨테이너 안의 프로세스가 종료되면 컨테이너를 자동으로 삭제 |
--security-opt=[] | SELinux, AppArmor 옵션을 설정 |
--sig-proxy=true | 모든 시그널을 프로세스에 전달 |
-t, --tty=false | TTY 모드를 사용, Bash를 사용하려면 이 옵션을 설정 필수 |
-u | 컨테이너가 실행될 리눅스 사용자 계정 이름 또는 UID를 설정 |
-v | 데이터 볼륨을 설정 호스트와 공유할 디렉터리를 설정하여 파일을 컨테이너에 저장하지 않고 호스트에 바로 저장 <호스트 디렉터리>:<컨테이너 디렉터리>:<ro, rw> |
--volumes-from=[] | 데이터 볼륨 컨테이너를 연결, <컨테이너 이름, ID>:<ro, rw> 형식으로 설정 |
-w, --workdir=”” | 컨테이너 안의 프로세스가 실행될 디렉터리를 설정 |
표 출처 : https://base-on.tistory.com/367
Refference
300x250
728x90
'Container > Docker' 카테고리의 다른 글
도커 컨테이너 로깅 (0) | 2021.08.24 |
---|---|
도커 네트워크 (0) | 2021.08.24 |
도커 컨테이너 포트포워딩 (0) | 2021.08.23 |
도커 이미지 및 컨테이너 기초 [docker 기초] (0) | 2021.08.22 |
Docker에 대한 기본지식 (0) | 2021.08.22 |