Dockerfiles 작성 Best Practice
Info | ||
---|---|---|
| ||
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ |
...
FROM :
ubuntu:15.04
Docker 이미지 레이어를 만듭니다 .COPY
: Docker 클라이언트의 현재 디렉토리에서 파일을 추가합니다.RUN
make
:
응용 프로그램을 빌드합니다.CMD
: 컨테이너 내에서 실행할 명령을 지정합니다.
이미지 및 레이어
Info |
---|
이미지 레이어 및 Docker가 이미지를 빌드하고 저장하는 방법에 대한 자세한 내용은 스토리지 드라이버 정보를 참조하십시오 . |
컨테이너 및 레이어
Info | ||
---|---|---|
| ||
디스크의 컨테이너 크기
Code Block |
---|
[root@k8s-worker01 ~]# docker ps -s
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
6d210e7eb353 registry "/entrypoint.sh /e..." 5 seconds ago Up 3 seconds 5000/tcp kickass_poitras 0 B (virtual 25.8 MB)
[root@k8s-worker01 ~]#
[root@k8s-worker01 ~]# docker run -d registry -name registry2
950068eff13574017649a0c3fc8f84047da4978204c68c23074580e5dbce0d02
[root@k8s-worker01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6d210e7eb353 registry "/entrypoint.sh /e..." 7 minutes ago Up 7 minutes 5000/tcp kickass_poitras
[root@k8s-worker01 ~]# docker ps -s
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
2c7c287be3e2 registry:2 "/entrypoint.sh /e..." 8 seconds ago Up 6 seconds 5000/tcp musing_kowalevski 0 B (virtual 25.8 MB)
1cdfdfe3c2d6 registry "/entrypoint.sh /e..." 17 seconds ago Up 15 seconds 5000/tcp musing_blackwell 0 B (virtual 25.8 MB)
[root@k8s-worker01 ~]#
|
size
: 각 컨테이너의 쓰기 가능한 계층에 사용되는 데이터 양 (디스크에 있음).virtual size
: 컨테이너에서 사용하는 읽기 전용 이미지 데이터와 컨테이너의 쓰기 가능한 레이어에 사용되는 데이터의 양입니다size
. 여러 컨테이너가 일부 또는 모든 읽기 전용 이미지 데이터를 공유 할 수 있습니다. 동일한 이미지에서 시작된 두 개의 컨테이너는 읽기 전용 데이터의 100 %를 공유하는 반면 공통 레이어를 가진 서로 다른 이미지를 가진 두 개의 컨테이너는 공통 레이어를 공유합니다. 따라서 가상 크기를 합산 할 수는 없습니다. 이것은 잠재적으로 중요한 디스크 사용량을 과소 평가합니다.
불필요한 Layer가 생성되지 않도록 권장 합니다.
Not Bed
Info |
---|
|
...
Info |
---|
|
Docker 공식 이미지
Info |
---|
Dockerfile Reference
Info |
---|