
assaflavie/runlikerunlike是一款专为Docker设计的实用工具,旨在解决用户需要手动重新运行容器时面临的命令行参数繁琐输入问题。通过分析现有容器的配置,runlike能够自动生成包含所有必要选项(如端口映射、环境变量、数据卷、网络设置等)的docker run命令,使用户无需记忆或手动输入复杂参数即可快速创建类似容器。该工具特别适用于已通过Ansible、Chef等配置管理工具部署容器后,需要临时手动复制或重新运行容器的场景。
-p选项,将生成的命令分行格式化,提升可读性$(runlike <container-name>)直接执行,一步创建容器docker run命令bashrunlike <container-name>
示例:为名为redis的容器生成运行命令
bashrunlike redis
输出将包含完整的docker run命令,可直接用于创建类似容器。
通过命令替换直接执行生成的命令,一步创建容器:
bash$(runlike redis)
使用-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=[***]" \ -e "REDIS_DOWNLOAD_SHA1=003ccdc***e0a751919cf508f1318e54aac1e" \ -p 0.0.0.0:6379:6379/tcp \ --detach=true \ 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 \ assaflavie/runlike <container-name>
示例:临时生成nginx容器的运行命令
bashdocker run -v /var/run/docker.sock:/var/run/docker.sock \ assaflavie/runlike nginx
runlike可通过Python包管理器pip安装:
bashpip install runlike
sock文件(容器模式)manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务