예시로 nginx 컨테이너를 받는다면 다음과 같이 적을 수 있다. latest 태그는 가장 최신 버전의 컨테이너 이미지를 가져온다.
# docker pull NAME[:TAG]
$ docker pull nginx:latest
컨테이너 실행은 일반적으로 docker run 명령어를 사용하며 다음과 같은 형식을 가진다. ubuntu:16.04
컨테이너를 실행한다면 다음과 같이 실행할 수 있다.
# docker run [OPTION] IMAGE[:TAG] [COMMAND]
$ docker run -i -t ubuntu:16.04 /bin/bash
t 옵션은 tty를 할당하고 i 옵션은 표준 입출력을 사용한다. 에시로 ubuntu 16.04 버전의 컨테이너를 -i , -t 옵션을 주어 생성하고 해당 컨테이너의 기본 커맨드임 /bin/bash를 실행한다. 해당 커맨드는 입력해주지 않아도 같은 동작을 예상한다.
$ docker run -i -t ubuntu:16.04 bin/bash
-d 옵션을 통해 데몬으로 실행한다. 일반적으로 웹서버 컨테이너 등을 해당 모드들로 실행한다. 예시로 nginx 컨테이너를 실행한다.
$ docker run -d -p 80:80 nginx
컨테이너를 명령어로 관리하기 위해 --name 옵션을 통해 이름을 지정한다. 이름을 지정하지 않으면 랜덤하게 이름이 부여되지만 관리하기는 어려우니 주의하자.
$ docker run -i -t --name my_ubuntu ubuntu:16.04 /bin/bash
생성 시 -p 옵션을 부여한다. 위의 데몬 실행 예시에서 nginx 컨테이너에 80 포트를 노출하였는데 여러개를 노출 시키려면 -p 를 여러개 사용하면 된다.
$ docker run -d --name my_nginx -p 80:80 =p 3306:3306 nginx:latest
주로 컨테이너 내에서 터미널을 통해 입력하는데 exit과 Ctrl + P, Q 2가지로 나뉜다. exit 명령어는 컨테이너를 아예 종료한다. Ctrl + P, Q 명령어는 현재 컨테이너 상태를 그대로 둑 ㅗ본인의 연결만 빠져나온다.
# 종료
$ exit
컨테이너를 종료시키지 않고 백그라운드로 전환하고 싶을 때는 Ctrl을 누른 상태에서 P와 Q를 순차적으로 눌러 빠져나온다.
# 나오기
$ Ctrl + P,Q