도커의 라이프사이클은 아래와 같다.
컨테이너 시작 명령어는 아래와 같다.
도커 create / run 명령어 모두 이미지가 없을 경우 자동으로 pull을 먼저 수행하여 이미지를 다운로드 받는다.
이제 간단하게 실습을 진행해보자
이전에 테라폼을 이용하여 만든 우분투 인스턴스에 접속해보자
그리고 docker -v 명령어로 도커의 버전을 확인할 수 있다.
docker ps 명령어는 실행 중인 도커 컨테이너 목록을 확인할 수 있고 docker ps -a 명령어는 모든 컨테이너 목록을 확인한다.
실행 중이지 않은 한 컨테이너가 있어서 docker rm [컨테이너 ID] 명령어로 삭제하였다.
그리고 docker run nginx 명령어로 도커 허브에 nginx 이미지의 최신 버전의 컨테이너를 생성시켰다.
이번에는 docker create 명령어를 사용해보자
docker create nginx 명령어를 입력하면 nginx 이미지가 생성되고 그 후 나오는 랜덤한 해시 값은 도커 엔진이 부여하는 컨테이너의 고유 ID이다.
docker start 명령어의 사용방법은 두 가지가 있는데
docker start [컨테이너 ID] 명령어를 입력하는 방법과 docker start [컨테이너 name]을 입력하는 방법이다.
docker run 명령어에는 중요한 옵션들이 몇 가지 있다.
컨테이너 상태 확인 명령어는 아래와 같다.
이제 우분투 컨테이너를 실행해보자
docker run ubuntu:focal 명령어를 입력하면 우분투 컨테이너가 만들어지고 바로 종료가 되는 걸 볼 수 있다.
이는 bash라는 명령어가 interactive한 표준 입력을 필요로 하는 어플리케이션이기 때문에 nginx와 같은 어플리케이션과는 동작이 다르다.
docker run ubuntu:focal 명령어 뒤에 실행하고 싶은 명령어를 입력하면 그 명령어만 실행한 후 바로 컨테이너가 종료된다.
그러나 우분투 쉘에 계속 접속하고 싶을 수 있다.
이럴 때 사용하는 옵션이 -i와 -t이다. docker run -i -t ubuntu:focal 명령어를 입력하면 bash에 잘 붙은걸 볼 수 있다.
그 후에 exit 명령어를 입력하면 bash쉘을 빠져나오면서 컨테이너가 종료되는 걸 볼 수 있다.
만약 컨테이너를 종료시키지 않고 빠져나오고 싶다면 ctrl + p , q 를 입력하면 된다.
두 번째로 -d 옵션에 대해 알아보자
docker run -d nginx를 입력하면 nginx 컨테이너가 background 상태로 실행된다.
세 번째로 --name 옵션을 사용해보자
docker run -d --name my-nginx 를 입력하면 원하는 이름의 컨테이너를 만들 수 있다.
네 번째로 -p 옵션을 이용해서 포트바인딩을 해보자
docker run -p 80:80 nginx 으로 호스트의 80번 포트와 컨테이너의 80번 포트를 연결할 수 있다.
다섯 번째로 --rm 옵션으로 컨테이너를 삭제해보자
docker run --rm ubuntu:focal id 명령어를 입력하면 id 명령어를 우분투가 실행하고 컨테이너까지 삭제된다.
컨테이너 일시중지 및 재개 명령어는 아래와 같다.
docker pause 명령어를 입력하면 컨테이너가 일시중지된다.
docker unpause 명령어를 입력하면 컨테이너 일시중지가 해제된다.
컨테이너 종료 명령어는 아래와 같다.
컨테이너 삭제 명령어는 아래와 같다.
'AWS > Part 5. Ch02 도커를 이용한 컨테이너 관리' 카테고리의 다른 글
CH02_06. 도커 컨테이너 다루기 네트워크 (0) | 2022.06.20 |
---|---|
CH02_05. 도커 컨테이너 다루기 명령어 실행 (0) | 2022.06.20 |
CH02_04. 도커 컨테이너 다루기 환경변수 (0) | 2022.06.20 |
CH02_03. 도커 컨테이너 다루기 엔트리포인트와 커맨드 (0) | 2022.06.20 |
CH02_01. 도커 이미지와 컨테이너 (0) | 2022.06.20 |