1. 컨테이너 생성
- 각 이미지는 컨테이너로 만들어야 실행 가능
- 이미지와 컨테이너는 각각 관리 필요
- 컨테이너 생성시 이름이 자동 부여
$ docker create ubuntu
2. 생성된 컨테이너 확인
$ docker ps # 현재 실행 중인 컨테이너
$ docker ps -a # 실행 중이지 않은 컨테이너 포함해 모두
항목 | 설명 |
CONTAINER ID | 컨테이너 ID |
IMAGE | 이미지 이름 |
COMMAND | 컨테이너 실행시 실행되는 프로세스 이름 |
CREATED | 컨테이너 생성 후 경과 시간 |
STATUS | 컨테이너 실행 상태(Created / Up / Pause / Existed) |
PORTS | 호스트와 컨테이너 포트 사이 연결 관계 |
NAMES | 컨테이너 이름 |
$ docker ps -a -q # 실행 중이지 않은 컨테이너 포함하여 전체 컨테이너의 ID만 출력
3. 컨테이너 삭제
docker rm 컨테이너이름(NAMES)
- 컨테이너 이름 변경
docker create --name <부여이름> <이미지이름>
4. 컨테이너 실행
$ docker start <컨테이너이름>
- 다운받고 생성한 컨테이너를 실행하면 바로 중지됨
- docker는 컨테이너를 하나의 응용프로그램으로 다루고 있음
- 운영체제가 아님
- 컨테이너를 실행하게끔 설정된 응용 프로그램의 실행이 끝나면, 해당 컨테이너는 중지됨
- 키보드 입력을 표준 스트림으로 받을 수 있는 상태어야 대기 상태로 계속 실행되고 그렇지 않으면 입력 불가이므로 종료가 됨
- 따라서, 별도 터미널 및 표준 입력 설정 연결 없이 실행 시 실행하자마자 끝나고, 바로 컨테이너가 중지가 됨
- 이미지 세부 정보 명령어
$ docker inspect ubuntu
5. docker 실행
옵션 | 설명 |
-i | 컨테이너 입력을 열어놓는 옵션 |
-t | 가상 터미널을 할당하는 옵션 |
--name | 컨테이너 이름을 설정하는 옵션 |
-d | 컨테이너를 백그라운드에서 실행하는 옵션 |
--rm | 컨테이너 종료시 컨테이너를 자동으로 삭제하는 옵션 |
-p | 호스트와 컨테이너 포트를 연결하는 옵션 |
-v | 호스트와 컨테이너 디렉토리를 연결하는 옵션 |
* -it 의미 : docker 컨테이너에 표준 입력을 오픈하고, pesudo tty를 만들어서 해당 입력을 연결
* pseudo tty : tty(teletypewriter)는 리눅스에서 콘솔 및 터미널을 의미 / 가상(pesudo)
$ docker run -it ubuntu # 컨테이너 실행 후, ubuntu로 들어가서 터미널로 명령 가능
$ docker run -it --name myubuntu ubuntu # 컨테이너 이름을 원하는 이름으로 변경
$ exit 명령으로 종료시 컨테이너도 중지됨
$ docker run -it --rm --name myubuntu2 ubuntu # 컨테이너 종료시 자동으로 컨테이너 삭제
컨테이너를 백그라운드로 실행하기
$ docker run -it -d --name myubuntu2 ubuntu
6. 실행 중인 컨테이너 종료하기
$ docker stop <NAME>
- 중지한 컨테이너는 docker start명령으로 재실행 가능
- 실행 중인 컨테이너를 잠깐 멈추는 것은 docker pause / 이 떄, 멈춘 컨테이너를 다시 실행하는 명령어는 docker unpause
반응형
'SW ENGINEERING > Docker' 카테고리의 다른 글
Dockerfile 이란? (0) | 2021.07.22 |
---|---|
Docker Run example (0) | 2021.07.22 |
Docker Image 명령어 (0) | 2021.07.22 |
AWS EC2에 Docker 설치하기(3) (0) | 2021.07.22 |
AWS EC2에 Docker 설치하기(3) (0) | 2021.06.24 |
최근댓글