猿创征文|【云原生】Docker小工具:runlike与whaler(打印容器的启动命令与导出镜像的dockerfile)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 自上次发现了一款从docker镜像里提取dockerfile的工具,今天我们又发现了两个有趣的docker小工具,其中有一个也是提取dockerfile的。

在这里插入图片描述

@[toc]

前言

  自上次发现了一款从docker镜像里提取dockerfile的工具,今天我们又发现了两个有趣的docker小工具,其中有一个也是提取dockerfile的。

两个有趣的docker小工具:runlike与whaler

  • runlike:通过容器打印出容器的启动命令
  • whaler:通过镜像导出dockerfile

runlike:通过容器打印出容器的启动命令

方法一:直接通过pip方式安装

如果没有pip可以选择先装pip;参考: 【Linux】中安装pip(详细教程)
pip install runlike

方法二:通过容器方式免安装使用

使用设置别名的方式来做,如果长期使用,可设置为永久别名;参考: Linux设置永久别名alias的方法
alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike"

这种方法需要拉取镜像,自动创建容器来加载这个命令,个人感觉第一种方法比较好一些;

用法

runlike 容器名/容器id
runlike -p 容器名/容器id

runlike打印出来的是很多在一行;例如:

在这里插入图片描述

runlike -p 加-p参数会给你整理一行一行整理出来,看着比较简洁;例如:

在这里插入图片描述

whaler:通过镜像导出dockerfile

  平时可能会构建很多不同的镜像,比如维护一些基础Docker镜像、想查看一些公开仓库的Docker镜像是怎么构建的,或因为长时间不维护找不到当时构建镜像的Dockerfile,或者因为网络无法查看时,能从镜像导出Dockerfile就显得很重要,这里可以通过whaler来快速的导出. 这里我们依旧不安装,通过容器化的方式使用whaler命令设置别名,便于使用;其实他和我写过的另一个命令是一样的dfimage,都是一样的效果;
如何从docker镜像里提取dockerfile

同样的设置永久的别名可参考:Linux设置永久别名alias的方法

alias whaler="docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock:ro pegleg/whaler"

设置完别名就可以来从镜像中导出dockerfile了;

用法

whaler 镜像名/镜像id
whaler -sV=1.36 镜像名/镜像id

直接用whaler会报错,需要添加一个参数;

在这里插入图片描述

这样就可以出来了,也可以重定向到一个文件中>a.txt就可以;
当然这个比较少,因为这个镜像也就只有1M,所以,不会输出很多东西,感兴趣的朋友可以去自己写一个镜像,或者去官网拉一个大一点的镜像,然后再来测试,就会有很多很多的,特别详细;

在这里插入图片描述

相关文章

文章一: 【Linux】中安装pip(详细教程)
文章二: Linux设置永久别名alias的方法
文章三: 如何从docker镜像里提取dockerfile
目录
相关文章
|
1月前
|
安全 持续交付 Docker
Docker:重塑现代软件交付的容器引擎
Docker:重塑现代软件交付的容器引擎
|
1月前
|
运维 测试技术 Docker
Docker:轻量级容器化技术革命
Docker:轻量级容器化技术革命
|
1月前
|
存储 持续交付 Docker
Docker:颠覆传统开发的轻量级容器革命
Docker:颠覆传统开发的轻量级容器革命
|
2月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
258 57
|
2月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
249 59
|
2月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
316 11
|
2月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
204 1
|
3月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
|
3月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
362 12