1 背景

在使用 容器镜像 时可能遇到的场景:
我们想要通过已有的镜像来获取 Dockerfile,比如常用的使用 docker history 命令来查看镜像信息,然后分析生成 Dockerfile。但是,这个方法有些缺点:生成的 Dockerfile 少了 FROM 指令信息,多出了一些来自基础镜像的指令信息。

2 安装image2df

image2df是一款将Docker镜像拉取下来转换成Dockerfile的产品,当我们初学dockerfile肯定会经常遇到镜像制作的各种坑,打包好了却跑不起来,这里我们就可以通过该工具来根据镜像反向生成Dockerfile,以辅助我们排查Dockerfile相关问题。

安装:[root@master-01 hello]# echo "alias image2df='docker run --rm -v /var/run/docker.sock:/var/run/docker.sock registry.baidubce.com/docker-hub/cucker/image2df:latest'" >> ~/.bashrc[root@master-01 hello]# source ~/.bashrc测试:[root@master-01 home]# image2df registry.aliyuncs.com/google_containers/pause:3.9========== Dockerfile ==========FROM registry.aliyuncs.com/google_containers/pause:3.9ARG ARCHADD bin/pause-linux-amd64 /pause # buildkitUSER 65535:65535ENTRYPOINT ["/pause"][root@master-01 home]#