1. 도커 레벨 보는 방법
먼저 현재 시스템에 어떤 미러가 있는지 확인하십시오.
도커 이미지
여기에서 mysql의 수준을 보려면 선택하십시오.
docker image inspect mysql:5.7.29 명령. RootFS 부분은 계층적 정보를 나타냅니다.
2. 도커 시스템 정보 보기
이 머신의 도커는 내가 설치한 것이 아니기 때문에 특정 루트 디렉토리가 어디에 있는지 알 수 없으므로 다음 명령을 사용할 수 있습니다.
도커 정보
위의 도커 정보를 볼 수 있습니다.
3. Docker의 기본 작업 디렉토리에 있는 각 폴더의 의미
Docker의 기본 작업 디렉터리는 이미지, 컨테이너, 볼륨, 네트워크 등을 포함한 모든 Docker 데이터를 포함하는 /var/lib/docker/입니다. 다음은 /var/lib/docker/ 디렉토리 아래의 몇 가지 일반적인 하위 디렉토리와 그 의미입니다.
1. /var/lib/docker/containers/: 모든 Docker 컨테이너의 데이터를 포함합니다. 각 컨테이너는 컨테이너 메타데이터, 로그 및 파일 시스템 등과 같은 컨테이너 관련 데이터를 저장하기 위해 이 디렉터리 아래에 하위 디렉터리를 생성합니다. .
2. /var/lib/docker/image/: 모든 Docker 이미지의 데이터를 포함합니다. 각 이미지는 이 디렉터리 아래에 하위 디렉터리를 생성하여 이미지 메타데이터, 레이어 정보 등과 같은 이미지 관련 데이터를 저장합니다.
3. /var/lib/docker/volumes/: 모든 Docker 볼륨의 데이터를 포함합니다. 각 볼륨은 이 디렉토리 아래에 볼륨의 메타데이터 및 파일과 같은 볼륨 관련 데이터를 저장하기 위해 하위 디렉토리를 생성합니다. 용량.
4. /var/lib/docker/network/: 모든 Docker 네트워크의 데이터를 포함합니다.각 네트워크는 네트워크 메타데이터 및 구성과 같은 네트워크 관련 데이터를 저장하기 위해 이 디렉토리 아래에 하위 디렉토리를 생성합니다.
5. /var/lib/docker/plugins/: 모든 Docker 플러그인의 데이터를 포함합니다.각 플러그인은 이 디렉토리 아래에 하위 디렉토리를 생성하여 플러그인의 메타데이터 및 구성과 같은 플러그인 관련 데이터를 저장합니다.
6. /var/lib/docker/swarm/: 노드 메타데이터, 서비스 구성, 인증서 및 키 등과 같은 Docker Swarm 관련 데이터를 포함합니다.
7./var/lib/docker/overlay2 : 이미지 및 컨테이너 레이어 파일의 실제 저장소 디렉터리
4. 도커 데몬의 로그는 어디에 있습니까?
Docker 데몬에 대한 로그는 syslog에 기록되며 정확한 위치와 이름은 운영 체제에 따라 다를 수 있습니다. 다음은 몇 가지 일반적인 운영 체제 및 해당 Docker 로그 파일 위치입니다.
- Ubuntu 16.04 이하: /var/log/upstart/docker.log
- Ubuntu 18.04 이상: /var/log/syslog
- CentOS 7: /var/log/messages
- Debian/Ubuntu: /var/log/daemon. 통나무
5. docker Overlay2 파일 시스템의 원리
nginx 이미지를 당기고 당기는 과정을 관찰하십시오. 이미지가 당기기 위해 6개의 레이어로 나누어지는 것을 볼 수 있습니다.
/var/lib/docker/overlay2/ 디렉토리에도 6개의 폴더가 더 있습니다.
위의 docker image inspect nginx를 통해 계층 구조를 볼 수 있습니다.
이미지를 다운로드할 때 Docker Daemon은 이미지의 이미지 레이어를 확인하여 호스트 파일 시스템의 이미지 레이어와 비교하여 존재하는 경우 다운로드하지 않고 존재하지 않는 이미지 레이어만 다운로드합니다.
계층화 이유:
- 계층화의 가장 큰 이점 중 하나는 리소스 공유입니다.
- 동일한 기본 이미지에서 여러 이미지를 빌드하는 경우 호스트는 하나의 기본 이미지만 디스크에 저장하면 됩니다.
- 동시에 모든 컨테이너를 제공하기 위해 하나의 기본 이미지만 메모리에 로드하면 되며 이미지의 각 레이어를 공유할 수 있습니다.