개발자로 후회없는 삶 살기
도커 PART.도커 life cycle 본문
서론
도커 이미지를 사용해 보면서 life cycle이 어떻게 되나 확인해 보고 이미지란 어떤 것이었나 복기해보는 시간을 가져보겠습니다.
본론
- 실습
서론에서 말한 것처럼 이미지를 사용해보겠습니다. 새로 레이어를 쌓아서 하는 것이 아닌 이미 만들어진 이미지를 가져와서 사용해 보겠습니다.
1. pull
docker pull httpd:latest
이미 만들어진 이미지를 가져옵니다.
이미지를 보면 경로가 비어있는 이미지들이 있고 경로가 붙은 이미지들이 있습니다.
public repository의 경우 앞이 비어있고 private repository의 경우 private의 도메인 : 통신할 때 사용할 포트번호/이름: 태그입니다.
2. run
# 백그라운드로 실행
docker run -d httpd
pull로 가져온 이미지를 실행하는 명령어로 이미지의 명령어입니다. 이미지를 create하고 start하는 것과 같은 효과입니다. docker는 이미지의 명령어와 컨테이너의 명령어가 있는데 stop, start는 컨테이너의 명령이고 create, run이 이미지의 명령입니다.
일반적으로 run을 하며 create를 하지는 않습니다. 그리고 백그라운드로 돌리는 경우가 많기에 -d로 실행합니다.
docker exec -it pensive_benx /bin/bash
컨테이너를 interactive하게 실행하여 컨테이너를 실행하시면서 컨테이너 내부에 있을 수 있도록 합니다.
3. stop
docker stop pensive_benx(컨테이너 이름)
컨테이너를 Exited 상태로 보내는 명령어로 컨테이너는 죽지 않고 살아있습니다.
4. rm
docker rm pensive_benx
Exit 상태에서 Dead 상태로 보내면 컨테이너를 아예 지웁니다. 지우기 전까지는 계속 컨테이너를 살리고 죽일 수(start, stop) 있습니다. 따라서 컨테이너 안에 존재하던 파일은 전부 다 사라집니다.
5. paused
컨테이너를 paused된 상태 그대로 살리기 위해 하는 명령어로 살리면 paused 이전 상태가 유지됩니다. stop은 살리면 데이터가 유지되지 않고 처음으로 돌아갑니다.
'[Infra] > [도커]' 카테고리의 다른 글
도커 PART.도커 기반 서비스 개발 (0) | 2023.01.29 |
---|---|
도커 PART.docker-compose (0) | 2023.01.29 |
도커 PART.iptables (0) | 2022.05.28 |
루트 파일 시스템 RART.환경변수 (0) | 2022.05.10 |
루트 파일 시스템 PART.chroot (0) | 2022.04.07 |