반응형
Docker Run
기본 실행 명령어
일반 실행
# docker run [Options] [Image[:version]] [Command]
docker run centos:centos8
입력 모드 실행
Container 생성 후 bash/sh로 바로 접속
exit
입력 시 Container 밖으로 빠져나올 수 있음. (Container는 종료됨)
docker run -it centos:centos8
Background에서 실행
Container 생성 후 Background에서 실행
- 해당 Image의 EntryPoint / CMD 에 설정된 실행 Command가 종료될 때 까지 Container 유지
- Command 종료 시 Container Stop
docker run -d centos:centos8
추가 Options
Name
Container에 명칭 부여
--name [CONTAINER NAME]
# docker run -d --name [CONTAINER NAME] centos:centos8
docker run -d --name testcon centos:centos8
Port
host의 특정 port로 들어온 요청을 특정 Container에 변경된 포트로 전달
-p [HOST PORT]:[CONTAINER PORT]
--port [HOST PORT]:[CONTAINER PORT]
# host:80 -> container:8080
# docker run -d -p "[HOST PORT]:[CONTAINER PORT]" centos:centos8
docker run -d -p "80:8080" centos:centos8
Environment (ENV)
Container에 설정된 환경변수 제어
-e [ENV KEY]=[ENV VALUE]
# ENV OS_PASSWORD = qwer1234
# docker run -d -e [ENV KEY]=[ENV VALUE] centos:centos8
docker run -d -e OS_PASSWORD=qwer1234 centos:centos8
Volume
Host의 특정 경로를 Container의 특정 경로로 마운트
- 경로-경로 연결 방식 (Bind Mount)
-v [HOST PATH]:[CONTAINER PATH]
- Volume Object-경로 연결 방식 (Volume Mount)
docker volume create
명령어로 만들어진 volume을 이용한 연결 방식-v [VOLUME OBJECT]:[CONTAINER PATH]
# Bind Mount
# Host /var/docker-volume -> Container /var/data
# docker run -d -v [HOST PATH]:[CONTAINER PATH] centos:centos8
docker run -d -v /var/docker-volume/data:/var/data centos:centos8
# Volume Mount
# Docker volume test-volume -> Container /var/data
# docker run -d -v [DOCKER VOLUME NAME]:[CONTAINER PATH] centos:centos8
docker run -d -v test-volume:/var/data centos:centos8
Work Directory
Container 초기 시작 시 실행되는 경로 지정
- Dockerfile에 선언된
WORKDIR
속성을 덮어씀 -w [Work Directory Path]
# docker run -it -w [WORK DIRECTORY PATH] centos:centos8
docker run -it -w /var centos:centos8
Entry Point
Container 실행 Command 지정
- Dockerfile에 선언된
ENTRYPOINT
속성 변경 - Container 실행 시 설정한 EntryPoint Command가 실행됨.
--entrypoint [Command]
# Container 실행 시 mysql -u root -p qwer1234 명령 실행
# docker run --entrypoint [COMMAND] centos:centos8 [ARGUMENT]
docker run --entrypoint mysql centos:centos8 -u root -p qwer1234
After Remove
Container 종료 시 해당 컨테이너 삭제
--rm
docker run -d --rm centos:centos8
반응형
'Product > Docker' 카테고리의 다른 글
[Docker] Docker run 백그라운드 실행 자동 종료 방지 (Infinity loop) (2) | 2022.05.12 |
---|---|
[Docker] MySQL 초기 DB/User/Data SQL 세팅 (0) | 2022.02.18 |
[Docker] Oracle 11g 설치 (0) | 2022.02.09 |
[Docker] Container Root 계정으로 접속 (0) | 2022.01.12 |
[Docker] Private Nuget : BaGet 서버 구축 (0) | 2021.07.21 |