演示Docker创建自有镜像的方式,以及如何查看镜像内容。
创建Dockerfile
FROM busybox:latest
COPY --chmod=755 <<"EOF" /start.sh
echo "Starting..."
for i in $(seq 1 5); do
echo "$i"
sleep 1
done
echo "Exiting..."
exit 1
EOF
ENTRYPOINT /start.sh
创建镜像
➜ docker build -t startstop .
[+] Building 9.9s (7/7) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 215B 0.0s
=> [internal] load metadata for docker.io/library/busybox:latest 8.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] preparing inline document 0.0s
=> [1/2] FROM docker.io/library/busybox:latest@sha256:498a000f370d8c37927118ed80afe8adc38d1edcbfc071627d17b25c88efcab0 1.7s
=> => resolve docker.io/library/busybox:latest@sha256:498a000f370d8c37927118ed80afe8adc38d1edcbfc071627d17b25c88efcab0 0.0s
=> => sha256:498a000f370d8c37927118ed80afe8adc38d1edcbfc071627d17b25c88efcab0 10.20kB / 10.20kB 0.0s
=> => sha256:42279ede3600b4e63af075a5e27d68232ff837d9cdcaba74feffc7ab0dfec0dc 610B / 610B 0.0s
=> => sha256:31311c5853a22c04d692f6581b4faa25771d915c1ba056c74e5ec82606eefdfa 459B / 459B 0.0s
=> => sha256:9c0abc9c5bd3a7854141800ba1f4a227baa88b11b49d8207eadc483c3f2496de 2.16MB / 2.16MB 1.6s
=> => extracting sha256:9c0abc9c5bd3a7854141800ba1f4a227baa88b11b49d8207eadc483c3f2496de 0.0s
=> [2/2] COPY --chmod=755 <<EOF /start.sh 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:56b8a880daa5e3b8a5d47d440b37ae234020a755f1c3c6f16939aca5a0490dc3 0.0s
=> => naming to docker.io/library/startstop 0.0s
1 warning found (use docker --debug to expand):
- JSONArgsRecommended: JSON arguments recommended for ENTRYPOINT to prevent unintended behavior related to OS signals (line 11)
➜ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
startstop latest 56b8a880daa5 10 seconds ago 4.27MB
➜ docker run startstop:latest
Starting...
1
2
3
4
5
Exiting...
查看镜像
- 查看容器存储层的内容(容器与镜像变更的文件):
docker diff 容器名
- 保存容器为镜像(不推荐的方法):
docker commit \
--message "修改了默认网页" \
webserver \
nginx:v2
- 查看镜像的提交历史记录:
docker history 镜像名