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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기