Docker最佳实践最近发现两个非常好用的工具,一个是runlike,一个是whalerrunlike:通过容器whaler打印出容器启动命令:passDoyouwanttosayN...B...哈哈,我们走吧?检索Docker容器运行的命令。通常,一个容器可能因为测试或者一些规范化的操作方式而启动,忘记了这个容器。启动命令是什么,需要在别的机器上找,创建的时候很麻烦。很多人可能会想到dockerinspect$container_name分析输出的json文件中的dockerinspect$container_name命令应该很熟悉,用来查看容器的基本信息。虽然通过这种方式也能找到运行容器的命令,但是整理起来还是需要时间,所以这里提供一个工具runlike[1],可以直接打印运行命令。在runlike中传入一个容器名称,它会直接打印出容器的运行顺序。runlike使用起来非常方便。可以直接通过pip安装,也可以不通过容器安装直接使用:pippiinstallrunlike#bydockeraliasrunlike="dockerrun--rm-v/var/run/docker.sock:/var/run/docker.sockassaflavie/runlike"或者用上面的容器测试一下是否可以使用:用起来方便多了。runlike的其他一些选项可以直接通过--help了解。一个镜像导出一个Dockerfile,通常可能会构建很多不同的镜像,比如维护一些基本的Docker镜像,想看看一些公共仓库的Docker镜像是如何构建的,或者因为找不到当时构建该镜像的Dockerfile因为很久没有维护了,或者因为网络无法查看的时候,能够从镜像中导出Dockerfile是非常重要的。这里可以通过whaler[2]快速导出。命令alias#aliasexportdockerimagetodockerfilealiaswhaler="dockerrun-t--rm-v/var/run/docker.sock:/var/run/docker.sock:ropegleg/whaler"然后通过whaler命令:只输出pegleg/whaler镜像的Dockerfile的大致内容,还是彩色输出?哈哈,我有兴趣。从上图可以看出输出的dockerfile和平时的不太一样。可以看看github上仓库里的dockerfile。...是分阶段构建的,所以不能输出--from=builder的构建内容。捕鲸者对此概不负责。我们可以换个镜像看看:这个很自然,很熟悉。whaler支持同时分析多张图片等功能,这里就不多说了。如果你有兴趣,你可以自己看看。至于whaler是如何实现的,其实看源码就可以理解了。
