Docker实用工具分享runlike

2025-01-12 18:16:33 0点赞 4收藏 0评论

一、Runlike:简化容器复制的艺术

"See this docker container? I wish I could run another one just like it, but I'll be damned if I'm going to type all those command-line switches manually!"

这就是runlike的作用。你给它一个docker容器,它会输出运行此容器的命令行,以及所有那些烦人的选项(环境、端口、链接、卷等全部参数)。对于那些通常通过一些CM工具(如Ansible/Chef)部署docker容器,然后发现自己需要手动重新运行某个容器的人来说,这确实节省了时间。。。

二、从命令行到可复用脚本

runlike 通过 docker inspect 信息还原出执行的 docker run 命令,提供容器 ID 即可查询容器的docker run 启动命令。

本文只罗列docker版用法,首次运行需要拉取镜像。

docker run -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike YOUR-CONTAINER-ID

操作示例如下:

docker ps -a     输出全部容器docker ps -a 输出全部容器docker run --rm -v /var/run/docker.sock:/var/run/docker.sock     assaflavie/runlike -p 591bf0a5f26d 输出第一个容器的运行参数docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike -p 591bf0a5f26d 输出第一个容器的运行参数

三、Runlike输出的后续应用

从输出结果看可以直接用于快速复制运行容器,免去了重新查找整理参数。

docker run --name=proud_bobo-main_app-1

--hostname=591bf0a5f26d

--mac-address=02:42:ac:11:00:02

--env=APP_COPYRIGHT_URL=http://192.168.1.30:90

--env=APP_ICP=dailyhot

--env='APP_COPYRIGHT=internal only'

--env=OPENAI_API_KEY=sk-xxxxxx

--network=bridge

--workdir=/

-p 90:80

--restart=unless-stopped

--label='com.docker.compose.depends_on='

--label='com.docker.compose.container-number=1'

--label='com.docker.compose.project.working_dir=/var/lib/casaos/apps/proud_bobo'

--label='com.docker.compose.image=sha256:04c23c79a5167d6ef36e7b4e59583e49fe9b96bf15b051ad28ab27dcab8c4178'

--label='com.docker.compose.config-hash=4c3a339e4632e56ba41662d8d9a2a6147fbe17b4f7cf1010e27e5c8d92e98459'

--label='com.docker.compose.project.config_files=/var/lib/casaos/apps/proud_bobo/docker-compose.yml'

--label='com.docker.compose.version='

--label='icon=https://icon.casaos.io/main/all/dailyhot.png'

--label='com.docker.compose.replace=ed50b38f4a677cd0302c43d7462cd8df46de6adbd0133e8f3764ca773c03968b'

--label='com.docker.compose.service=main_app'

--label='com.docker.compose.project=proud_bobo'

--label='com.docker.compose.oneoff=False'

--runtime=runc

--memory="8176795648"

rehiy/dailyhot:latest

附该工具的官网链接https://hub.docker.com/r/assaflavie/runlike/

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

值友5288774457

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
4
扫一下,分享更方便,购买更轻松