2. 도커(docker) 컨테이너 생성 & 실행 /중지 /제거
docker run / docker container run
일반적으로 docker run / docker container run 커맨드를 사용하는데,
이 커맨드는 docker pull + docker create + docker start 를 합쳐놓은 것이다.
즉, 이미지 내려받기 + 컨테이너 생성 + 컨데이너 실행 기능을 한번에 수행한다.
run = pull + create + start
docker run {옵션} / --name(이름)
-p(포트번호)
-v(볼륨 마운트)
--net(네트워크)
즉, 대게 docker run {옵션} 이미지 {인자}의 형태로 사용한다.
1. 컨테이너 생성
여기서는 아파치 컨테이너를 생성해보자.
이처럼 run 명령어를 통해 이미지 pull / 컨테이너 생성 / 컨테이너 실행을 한번에 할 수 있다.
컨테이너 이름을 pap000ex1 임의로 주었고.. 아파치의 이미지는 httpd 이므로 입력해 주었다.
다운로드가 다 되었고.
docker ps -a 를 통해 확인해보면...
이와 같이 컨테이너가 생성 된 것을 볼 수 있고, STATUS 에 Up 표시가 되어 있는 걸로 보아 실행중이라는 알 수 있다.
(왜 실행중이냐면 위에 docker run 할때 -d 옵션이 백그라운드로 실행하라는 옵션이기 때문에)
2. 컨테이너 종료
이미지를 다운 받고 컨테이너가 잘 실행 되고 있는 모습을 보았다. 방금 다운받은 apach 이미지 컨테이너를 삭제하기 위해서는 반드시 컨테이너 종료를 한 후 멈춘 상태에서 삭제를 수행해야한 진행된다.
삭제를 위해 컨테이너를 종료해 보고 바뀐 점을 살펴보자.
docker container stop {컨테이너 ID} 를 통해 종료해보자. ( docker container stop {컨테이너 이름} 으로도 가능)
이렇게 종료를 해보았다. 종료시 컨테이너 ID를 모두 적을 필요는 없고, 다른 컨테이너 ID와 구분 될 수 있을 정도의 앞자리만 적어주면 된다(필자는 4개를 적었다)
그 후 다시 ps -a를 통해 상태를 확인해보면
STATUS의 Up 이 Exited 으로 바뀐 것을 볼 수 있고, 종료 되었기에 PORTS도 없어진 걸 확인 할 수 있었다.
3. 컨테이너 삭제
그럼 이제 마지막으로 다쓴 컨테이너를 삭제해보자.
다시한번 강조하지만, 종료 후 삭제를 해야 된다. 종료를 하지 않고 실행 중인 컨테이너를 삭제하려고 시도하면, 오류가 발생한다.
컨테이너 삭제는 docker container rm {컨테이너 ID}로 할 수 있다.
이처럼 삭제를 하면 container가 지워진 모습을 볼 수 있었다.
이처럼 간단한 실습을 통해 컨테이너의 생애주기를 모두 다뤄 보았다.