도커 컨테이너 생애주기

create(생성) -> start(실행) -> stop(정지) -> rm(폐기) 이 단계를 컨테이너의 생애주기라 한다.

실행중인 컨테이너를 바로 폐기할수는 없으며, 정지 후 폐기를 진행해야 한다.

 

 

 

컨테이너 생성 및 실행

컨테이너를 생성하고 실행하는 커맨드이다.

도커 컨테이너 생성에는 docker run 커맨드를 사용한다.

이 커맨드는 도커 컨테이너를 실행하기 위해 필요한 이미지가 없다면 이미지를 내려받고 이미지로 컨테이너를 생성하고 실행하는 기능을 한다.

docker run --name apache-ex1 -d -p 8080:80 httpd

옵션 설명

  • --name : 컨테이너의 이름을 지정
  • -d : 백그라운드로 실행
  • -p : 포트 번호 지정(호스트 포트 번호 :컨테이너 포트 번호)
  • httpd : 도커허브에 있는 아파치 이미지를 사용

아파치 이미지(httpd)를 사용해 apache-ex1 이라는 이름으로 컨테이너를 백그라운드로 생성하고 호스트의 포트 8080을 컨테이너 포트 80으로 포워딩하는 명령어이다.

 

다음은 MySQL 이미지를 사용하여 MySQL 컨테이너를 실행해보자.

docker run --name mysql-ex1 -dit -e MYSQL_ROOT_PASSWORD=myrootpass mysql

옵션 설명

  • --name : 컨테이너의 이름을 지정
  • -dit : 백그라운드에서 실행 및 키보드를 통해 컨테이너 내부의 파일 시스템을 조작
  • -e : 환경설정으로 MySQL 루트 패스워드 지정 (다른 환경설정도 가능하다.)
  • mysql : 도커허브에 있는 mysql 이미지를 사용

 

컨테이너 실행목록을 보는 명령어로 실행된 컨테이너를 확인할 수 있다.

# 실행중인 컨테이너 목록
docker ps 

# 전체 컨테이너 목록
docker ps -a

이후, http://localhost:8080 접속을 통해 apache 서버에 접속을 할 수 있다.

 

 

 

컨테이너 정지, 폐기

컨테이너 정지, 폐기하는 커맨드는 stop, rm 이다.

다음과 같이 컨테이너를 정지하고 폐기할 수 있다.

# 컨테이너 정지
docker stop apache-ex1 mysql-ex1
# 컨테이너 삭제
docker rm apache-ex1 mysql-ex1

삭제 후, docker ps -a로 삭제가 잘 되었는지 확인

 

 

 

이미지 삭제

컨테이너를 삭제해도 이미지는 여전히 남아있다.

이미지가 늘어나면 용량을 압박하게 되므로 필요 없어진 이미지는 바로바로 삭제하자.

# 이미지 조회
docker image ls
# 이미지 삭제
docker image rm httpd mysql

삭제 후, docker image ls로 삭제가 잘 되었는지 확인

 

 

 

 

 

- Just Do It -

 

반응형
복사했습니다!