컨테이너의 생성과 삭제, 실행, 정지

728x90
반응형

출처 : 그림과 실습으로 배우는 도커 & 쿠버네티스

 

docker run 커맨드와 docker stop, docker rm 커맨드

  • 컨테이너를 실행할 때는 docker run (혹은 docker container run) 커맨드를 사용한다.
  • docker run 커맨드는 도커 이미지를 다운로드받고(해당 이미지가 없다면), 도커 컨테이너를 생성하고 실행한다.
  • 컨테이너를 폐기하려면 먼저 정지시켜야한다. 동작 중인 컨테이너를 그대로 삭제할 수 없다.
  • 컨테이너를 정지시키려면 docker stop (혹은 docker container stop), 폐기시키려면 docker rm (혹은 docker container rm) 커맨드를 사용한다.

 

docker run : 컨테이너 생성 및 실행 커맨드

  • 컨테이너의 이름은 --name 옵션, 포트 번호는 -p, 볼륨을 마운트할 때는 -v, 컨테이너를 연결할 네트워크는 --net 옵션 등을 사용할 수 있다.
  • 데몬 형태로 동작하는 소프트웨어의 컨테이너는 -d, -i, -t 옵션을 사용하는 경우가 많다.
  • 사용할 수 있는 인자는 이미지의 종류에 따라 달라진다.

 

docker stop : 컨테이너 정지 커맨드

  • 컨테이너를 폐기하려면 반드시 먼저 정지를 시켜야한다.
  • 정지 커맨드에서는 옵션이나 인자를 지정하는 경우가 별로 없다.

 

docker rm : 컨테이너 폐기 커맨드

  • 컨테이너를 삭제하는 커맨드
  • 폐기 커맨드 또한 옵션이나 인자를 지정하는 경우가 별로 없다.

 

docker ps 커맨드

  • docker ps 는 docker container ls 커맨드이다.
  • 컨테이너의 목록을 출력한다.
  • docker ps는 현재 실행 중인 컨테이너의 목록을 출력하고, docker ps -a는 현재 존재하는 컨테이너(정지 상태의 컨테이너 포함)의 목록을 출력한다.
  • 컨테이너를 실행하거나 정지시킬 때 컨테이너의 상태를 확인하거나, 컨테이너의 상세 정보를 확인할 때 사용한다.

 

컨테이너 목록의 정보

  • docker ps 커맨드를 실행하면 첫 번째 행은 각 항목의 이름이 출력된다. 두 번째 행부터는 실제 컨테이너의 정보가 출력된다.
  • container ID는 컨테이너 식별자로 무작위 문자열이 할당된다.
  • image는 컨테이너를 만들 때 사용한 이미지의 이름이다.
  • command는 컨테이너 실행 시에 실행하도록 설정된 프로그램의 이름이다.
  • created는 컨테이너 생성 후 경과된 시간이다.
  • status는 컨테이너의 현재 상태를 의미한다. 실행 중이면 up, 종료된 상태면 exited가 출력된다.
  • ports는 컨테이너에 할당된 포트 번호를 의미한다.
  • names는 컨테이너 이름이다.

 

 

컨테이너 생성, 실행, 상태 확인, 종료, 삭제 실습

  • 실습을 통해 아파치 컨테이너를 생성하고, 실행, 상태를 확인하고, 종료 및 삭제를 해보자.

 

실습 내용

  1. 컨테이너 생성 및 실행
  2. 컨테이너 상태 확인
  3. 컨테이너 종료
  4. 컨테이너 상태 확인
  5. 컨테이너 삭제
  6. 컨테이너 상태 확인

 

생성할 컨테이너의 정보

  • 컨테이너 이름 : zw_apache
  • 이미지 이름 : httpd

 

실습

 

docker run --name zw_apache -d httpd

 

아파치 이미지(httpd)를 사용해 zw_apache 라는 이름의 컨테이너를 생성하고 실행한다. httpd 이미지가 존재하지 않으므로 이미지를 다운로드 받는다. 

 

 

docker ps

 

ps 커맨드를 입력하면 이름이 zw_apache인 컨테이너가 실행 중인 것을 확인할 수 있다. Status 항목의 값이 Up이면 실행 중인 것이다. docker desktop에서도 zw_apache 컨테이너가 실행 중인 것을 확인할 수 있다.

 

 

docker stop zw_apache
docker ps
docker ps -a

 

stop 커맨드를 사용해 zw_apache 컨테이너를 종료시킨다.

ps 커맨드를 입력하면 실행 중인 컨테이너가 없으므로 아무 컨테이너도 출력되지 않는다.

ps -a 커맨드를 입력하면 존재하는 컨테이너가 출력된다. 이때 zw_apache 컨테이너는 Exited 상태인 것을 확인할 수 있다.

 

docker desktop에서도 zw_apache 컨테이너가 종료된 상태인 것을 확인할 수 있다.

 

 

docker rm zw_apache
docker ps -a

 

rm 커맨드를 실행해 zw_apache를 제거한다. ps -a 커맨드를 입력하면 zw_container가 제거된 것을 확인할 수 있다. docker desktop에서도 해당 컨테이너가 삭제된 것을 확인할 수 있다.

 

 

728x90
반응형

'Study > 도커와 쿠버네티스 (Docker & Kubernetes)' 카테고리의 다른 글

아파치, Nginx, MySQL 컨테이너 생성  (1) 2024.02.09
컨테이너의 통신  (0) 2024.02.07
도커 명령어  (0) 2024.02.05
도커 설치  (0) 2024.02.01
도커 환경 구축 준비  (0) 2024.01.17