初识Docker:(7)查询Docker镜像的DockerFile

1. 前言

我们知道了根据dockerfile来制作镜像,如果给你一个现成的镜像,你能逆向查看出dockerfile吗?

否则,你怎么知道该镜像使用的是CMD还是ENTRYPOINT ,使用的是shell格式还是CMD格式?由于格式决定了docker内部如何产生PID1进程,因此有必要逆向一下。

2.步骤

对于dockerfile,我们首先要有基本的了解,dockerfile有自己的语法,基于一个基础的镜像,然后在镜像中定义安装的软件,启动的用户,暴露的端口,挂载的目录,以及容器启动后运行的命令:
初识Docker:(7)查询Docker镜像的DockerFile_第1张图片
知道了镜像构建的方法,那么对于一个已经下载到本地的镜像我们怎么去查看他构建时候的dockerfile呢?使用docker images 查看本地所有镜像:
初识Docker:(7)查询Docker镜像的DockerFile_第2张图片
对于本地的镜像,我们使用docker history [image_name]:[tag] 命令来查看它的构建命令,如图可以看到运行的启动脚本,暴露的端口等信息。还可以加 --no-trunc查看完整命令:

docker history --no-trunc xxx

初识Docker:(7)查询Docker镜像的DockerFile_第3张图片

你可能感兴趣的:(云计算,docker,容器,运维)