这个转换器的作用
一个从快速实验开始的 docker run 命令往往会增长:端口,音量,环境变量,网络,重启策略。在某个时刻,它属于compose.yaml。这个转换器解析一个或多个 docker run 命令,并产生一个清洁的 Compose 文件,每个命令有一个服务。它还可以逆向运行:粘贴一个Compose文件并获取相应的docker run命令,这对于调试单个服务或在没有Compose的主机上运行它非常方便。解析发生在浏览器中。
使用方法
- 选择 docker运行 → 编译或 编译 → docker运行。
- 粘贴你的命令,每行一个。逆击线的延续是好的,领先的
sudo被忽略了。 - 检查生成的YAML。命名的卷和自定义网络在顶层自动声明。
- 阅读没有Compose等价的选项的注释。
- 复制输出,保存为
compose.yaml并运行docker compose up -d。
支持的选项
端口 (-p,--expose),环境 (-e,--env-file),体积和安装 (-v,--mount,--tmpfs),网络 (--network,--network-alias,--ip,--hostname,--add-host,--dns,--link),重启策略,用户和工作目录,入口点和命令,标签,日志驱动程序和选项,健康检查 (--health-*),资源限制 (--memory,--cpus,--shm-size,--ulimit,--gpus),安全选项 (--privileged,--cap-add,--cap-drop,--security-opt,--read-only),设备,sysctls,--init,--platform,--pull,-it等。
提示
- 服务名称来自
--name;如果没有,则使用图像名称。 --rm和-d在 Compose 中没有任何意义,并且被放下了音符。- 构建中的相对绑定 mounts 与构建文件相对解决,而不是你的 shell 的目录。使用
./data式路径。 - 通过
-e传递的秘密最终是纯文本。考虑将它们转移到.env文件,并引用${VAR}。