docker run [옵션] <이미지이름> [시작명령어]
-d
: 컨테이너 백그라운드 실행-p
: 호스트 포트와 컨테이너 포트를 매핑-v
: 호스트 디렉토리를 컨테이너 특정 경로에 마운트--name
: 컨테이너 아이디 대신 이름을 부여하여 컨테이너를 식별한다--restart
: Docker 실행시 컨테이너 자동 재시작 설정-e
: 컨테이너 환경변수 설정 (Dockerfile의 ENV 설정을 덮어씌운다)-w
: 작업 디렉토리 설정 (Dockerfile의 WORKDIR 설정을 덮어씌운다)-rm
: 컨테이너를 일회성으로 실행. 작동순서
1. 도커 클라이언트를 통한 도커 서버에 명령어 전달
2. 도커 서버에서 컨테이너 생성을 위한 이미지가 있는지 확인(캐시)
3. 있으면 해당 이미지르 통해 컨테이너 생성, 없으면 도커허브에서 다운로드 후 컨테이너 생성
컨테이너 생성순서
1. 이미지의 파일스냅샷(bin,dev,etc, ...)을 컨테이너 디스크 영역에 복사
2. 이미지의 시작명령어를 통해 프로세스 실행
docker create <이미지이름>
docker start <컨테이너 이름/아이디>
docker stop <컨테이너 이름/아이디>
docker stop <컨테이너 이름/아이디>
docker kill <컨테이너 이름/아이디>
docker stop
: 실행중인 작업들을 완료하고 중지시킨다.docker kill
: 바로 중지시킨다.docker ps [옵션]
-a
: 모든 컨테이너 나열docker rm <컨테이너 이름/아이디>
docker rmi <이미지 아이디>
docker system prune
docker exec [옵션] <컨테이너 아이디> <명령어>
실행 중인 컨테이너에 명령어 전달
옵션
-it
: 명령어를 실행한 후에도, 계속 명령어를 입력할 수 있다.-i
: interactive-t
: terminaldocker exec -it <컨테이너 아이디> sh
★실행중인 컨테이너의 쉘 환경에 접속한다.