前言
我们知道了根据dockerfile来制作镜像,如果给你一个现成的镜像,你能逆向查看出dockerfile吗?
否则,你怎么知道该镜像使用的是CMD还是ENTRYPOINT ,使用的是shell格式还是CMD格式?由于格式决定了docker内部如何产生PID1进程,因此有必要逆向一下。
步骤
对于dockerfile,我们首先要有基本的了解,dockerfile有自己的语法,基于一个基础的镜像,然后在镜像中定义安装的软件,启动的用户,暴露的端口,挂载的目录,以及容器启动后运行的命令:
知道了镜像构建的方法,那么对于一个已经下载到本地的镜像我们怎么去查看他构建时候的dockerfile呢?使用docker images 查看本地所有镜像:
对于本地的镜像,我们使用docker history weblogic:latest 命令来查看它的构建命令,如图可以看到运行的启动脚本,暴露的端口等信息。还可以加 --no-trunc
查看完整命令:
从上面可以看到,使用的CMD语法,并且格式为exec格式。
版权声明:本文为m0_45406092原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。