이미지와 컨테이너의 구조

- 이미 생성된 이미지는 어떠한 경우로도 변경되지 않음
- 컨테이너 계층이, 원래 이미지에서 변경된 파일시스템 등을 저장한다
볼륨
| 층위 | 표현 | 의미 |
|---|---|---|
| 일반 개념 | volume / mount | 컨테이너에 외부 저장소를 붙이는 행위 전반 |
| Docker 객체 | Docker volume | docker volume create, docker volume ls로 관리되는 Docker의 저장소 객체 |
| 마운트 방식 | bind mount | 호스트의 특정 경로를 컨테이너 경로에 직접 붙이는 방식 |
- 둘 다 컨테이너 입장에서는 mount다.
- named volume은 Docker volume 객체다.
- bind mount는 Docker volume 객체가 아니다.
볼륨 컨테이너
- 구식 구조. 실질적으로 쓸 필요는 없다
- 돌아가는 서비스가 없는 빈 컨테이너를 하나 올리고, 이 컨테이너 생성 시점에 볼륨을 만들고, 이 볼륨에 다른 서비스 돌리는 컨테이너가 붙어서 사용함
inspect
| 보고 싶은 것 | 명령 | 의미 |
|---|---|---|
| Compose 파일이 최종적으로 어떻게 해석되는지 | docker compose config | compose.yaml을 병합, 변수 치환, short syntax 확장 후 canonical format으로 출력 |
| Compose 프로젝트 목록 | docker compose ls | 실행 중인 Compose 프로젝트 목록 확인 |
| Compose 프로젝트의 컨테이너 목록 | docker compose ps | 해당 Compose 프로젝트가 만든 컨테이너 확인 |
| 실제 컨테이너의 상세 정보 | docker inspect <container> | Docker Engine 객체의 low-level JSON 정보 확인 |
| 특정 서비스 컨테이너의 상세 정보 | `docker compose ps -q | xargs docker inspect` |
docker compose inspect라는 표준 명령은 없다.docker inspectDocker가 관리하는 객체의 low-level 정보를 JSON으로 반환
네트워크 (veth)
로깅 (AWS cloudwatch)
syslog, rsyslog, fluentd