assaflavie/runlike Docker 镜像
assaflavie查看 Docker Hub 原文页
自动构建
runlike是一个Docker工具,能够根据现有容器自动生成包含端口、环境变量、卷等所有必要参数的运行命令,帮助用户快速创建类似容器,避免手动输入复杂命令行选项,显著节省时间。
36 次收藏下载次数: 0状态:自动构建维护者:assaflavie仓库类型:镜像最近更新:2 天前
runlike Docker工具文档
镜像概述
runlike是一款专为Docker设计的实用工具,旨在解决用户需要手动重新运行容器时面临的命令行参数繁琐输入问题。通过分析现有容器的配置,runlike能够自动生成包含所有必要选项(如端口映射、环境变量、数据卷、网络设置等)的docker run命令,使用户无需记忆或手动输入复杂参数即可快速创建类似容器。该工具特别适用于已通过Ansible、Chef等配置管理工具部署容器后,需要临时手动复制或重新运行容器的场景。
核心功能与特性
- 自动参数提取:从现有容器中提取所有关键配置参数,包括名称、环境变量、端口映射、数据卷、网络模式等
- 格式化输出:支持
-p选项,将生成的命令分行格式化,提升可读性 - 直接执行支持:生成的命令可通过
$(runlike <container-name>)直接执行,一步创建容器 - 无安装运行:可通过Docker容器模式临时运行,无需预先安装(通过挂载Docker守护进程套接字实现)
- 兼容性广泛:支持Docker常见配置参数,覆盖大部分日常使用场景
使用场景
- 容器快速复制:需要基于现有容器创建新实例时,避免手动编写完整
docker run命令 - 配置备份与复用:将现有容器的配置以命令形式导出,便于存档或在其他环境复用
- 故障排查辅助:生成容器运行命令,帮助分析容器启动参数是否符合预期
- 学习与调试:通过生成的命令学习容器配置细节,或调试容器启动参数问题
使用方法
基本使用
生成容器运行命令
bashrunlike <container-name>
示例:为名为redis的容器生成运行命令
bashrunlike redis
输出将包含完整的docker run命令,可直接用于创建类似容器。
直接执行生成的命令
通过命令替换直接执行生成的命令,一步创建容器:
bash$(runlike redis)
格式化输出(-p选项)
使用-p选项可将命令按参数分行格式化,提升可读性:
bashrunlike -p <container-name>
示例:格式化输出redis容器的运行命令
bashrunlike -p redis
输出结果:
bashdocker run \ --name=redis \ -e "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ -e "REDIS_VERSION=2.8.9" \ -e "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-2.8.9.tar.gz" \ -e "REDIS_DOWNLOAD_SHA1=003ccdc175816e0a751919cf508f1318e54aac1e" \ -p 0.0.0.0:6379:6379/tcp \ --detach=true \ docker.xuanyuan.run/myrepo/redis:7860c450dbee9878d5215595b390b9be8fa94c89 \ redis-server --slaveof 172.31.17.84 6379
无安装临时运行
若未安装runlike,可通过Docker容器直接运行,需挂载Docker守护进程套接字(/var/run/docker.sock)以访问Docker API:
bashdocker run -v /var/run/docker.sock:/var/run/docker.sock \ docker.xuanyuan.run/assaflavie/runlike <container-name>
示例:临时生成nginx容器的运行命令
bashdocker run -v /var/run/docker.sock:/var/run/docker.sock \ docker.xuanyuan.run/assaflavie/runlike nginx
安装方法
通过pip安装
runlike可通过Python包管理器pip安装:
bashpip install runlike
注意事项
- 开发阶段工具:该项目仍处于活跃开发中,部分Docker高级配置参数(如某些网络模式、自定义DNS等)可能尚未完全支持
- 生产环境谨慎使用:生成的命令建议在测试环境验证后再用于生产环境,避免因参数缺失或不兼容导致问题
- 依赖Docker API:工具通过Docker API获取容器信息,需确保运行用户具有足够权限访问Docker守护进程(直接运行时)或挂载的
sock文件(容器模式)
项目状态
- 开发状态:工作进行中,持续优化参数覆盖范围和兼容性
- 生产环境建议:目前不建议用于关键生产环境,使用前请仔细验证生成命令的准确性
- 构建状态:
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
轩辕镜像加速拉取命令点我查看更多 runlike 镜像标签
docker pull docker.xuanyuan.run/assaflavie/runlike:<标签>
DockerHub 原生拉取命令
docker pull assaflavie/runlike:<标签>
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务