docker基础镜像怎么选?


先看看基础镜像的dockerfile,它们是怎么创建出来的。

  • scratch (空镜像)

  • alpine

FROM scratch
ADD rootfs.tar.xz /
CMD ["/bin/sh"]
  • debian
FROM scratch
ADD rootfs.tar.xz /
CMD ["bash"]
  • centos/fedora/ubuntu
FROM scratch
ADD centos-7.4.1708-docker.tar.xz /

LABEL name="CentOS Base Image" \
    vendor="CentOS" \
    license="GPLv2" \
    build-date="20170911"

CMD ["/bin/bash"]
  • 建议

docker是容器不同于虚拟机,运行之后只有应用程序在里面运行,基础镜像只是为应用程序提供依赖包。应用程序是主,基础镜像是次。

如果没有必要,选择最小的依赖环境alpine,然后在这个基础上制作自己的镜像。

如果是redis,选择redis+alpine



上篇: 同时管理git与svn两种仓库 下篇: docker容器中不能ping