Docker镜像的大小,我们知道影响传输、分发和启动,但具体而微,对启动的影响有大呢?
那么,首先是建立评判的标准。如果缺少必要的前提条件,也很难讲结论的正确性...
# 前置条件
+ 独立测试环境,缺少其他并发干扰
+ 运行相同输出时间戳的代码,例如,printloop.sh
+ 大size镜像的容器先启动,小size镜像的容器后启动
# 评判标准
- 如果后启动小size镜像的容器在多次试验中,能够后发先至,说明小size镜像的容器启动具有明显的优势
# 测试脚本
# printloop.sh
trap "exit 0" TERM
logfile="$(hostname)".txt
cat /dev/null > $logfile
while true
do
echo "$(hostname) print $(date +'%Y-%m-%d %H-%M-%S-%N')" >> $logfile
sleep 1
done
##########################################################
# test.sh
set -e
sudo docker run --rm -d --name "abc" -h "centos" -v $PWD:/workspace -v /etc/localtime:/etc/localtime:ro -w /workspace centos:centos7.6.1810 /bin/sh printloop.sh &
sudo docker run --rm -d --name "abc1" -h "ubuntu" -v $PWD:/workspace -v /etc/loca

本文通过实验探讨了Docker镜像大小对容器启动速度的影响。在独立测试环境中,使用相同输出时间戳的代码,对比了大、小size镜像的启动情况。尽管小size镜像容器并不总是能后发先至,但在服务器压力大的情况下,其启动优势可能更为明显。此外,文章还提醒在Dockerfile中避免不必要的大文件权限变更,以减少镜像大小。
最低0.47元/天 解锁文章
878

被折叠的 条评论
为什么被折叠?



