docker教程:从头基于空镜像scratch创建一个新的Docker镜像

从头基于空镜像scratch创建一个新的Docker镜像

我们在使用dockerfile构建镜像时,一种方式是使用预制镜像,这样可以省很多工作量,但问题是镜像会变得特别大,尤其是安装一些应用程序所需的依赖后,镜像的尺寸会更大。

在这里插入图片描述
如果我们的需求是在构建一个符合我们实际业务需求的Docker镜像的前提下,确保镜像尺寸尽可能的小,应该怎么做呢?

思路是使用空镜像scratch。

  • 获取scratch基础镜像
tar cv --files-from /dev/null | docker import - scratch
  • 新建一个文件夹,使用wget下载rootfs.tar.xz压缩包,包含了操作系统大部分的常用命令
wget -O rootfs.tar.xz https://github.com/debuerreotype/docker-debian-artifacts/raw/b024a792c752a5c6ccc422152ab0fd7197ae8860/jessie/rootfs.tar.xz
  • dockerfile编排(重中之重)
FROM scratch
LABEL maintainer="Chen Hanjiang"
ADD rootfs.tar.xz /
RUN apt-get update
WORKDIR /home/tarena
CMD /bin/bash
  • 执行构建命令
docker build  --squash -t nginx-from-scratch1.0 .
  • 运行
    docker run -it nginx-from-scratch1.0

猜你喜欢

转载自blog.csdn.net/weixin_52201738/article/details/127331668