composerize:把 Docker

13次阅读
没有评论
composerize 免费下载|把 Docker
获取下载链
微信关注「软件教程管家」公众号,回复 composerize
官方渠道:GitHub 仓库

30秒速读:手写 docker-compose.yml 文件时,端口、挂载、重启策略、日志上限这些参数总要翻文档确认,写到一半卡住是常事。composerize就是为这个卡点准备的小工具:把一条现成的 Docker 命令行贴进去,它立刻输出对应格式的 docker-compose.yml 内容,网页版不用安装,命令行版一条命令就能转。本篇讲清楚两种方式怎么选、怎么装、怎么用,以及转完之后必须核对的三件事。

项目信息

软件名 composerize
大小 未标注,以发布渠道为准
平台 多平台:网页版用浏览器即可,命令行版需要先装 Node.js
版本 未标注版本号,以 GitHub Releases 为准
授权 开源项目

composerize 将 Docker 命令行转换为 docker-compose 文件

版本选择:网页版还是命令行版,先定这一条

composerize 提供两种使用方式,转换结果的格式是一样的,差别只在用不用装东西、转得多不多。结论先行:偶尔转一两条命令的新手直接用网页版;经常要转、已经装好 Node.js 的开发者用命令行版。

方式 要不要安装 怎么转 适合谁
网页版 不用,浏览器打开即用 在输入框贴入 Docker 命令,下方立刻输出配置内容 偶尔转换、不想装环境的新手
命令行版 要,先装 Node.js,再全局安装 在终端里对着一条命令直接输出配置内容 经常转换、已在用 Node.js 的开发者

一句话判断:只是想把手头一条命令快点变成配置文件,网页版最省事;转换是日常操作的一部分,命令行版不用反复打开网页、复制粘贴,更顺手。

安装步骤:命令行版只需要两步

网页版没有安装步骤,打开就能用。下面只讲命令行版的安装,关键卡点只有一个:先确认 Node.js 已经装好,否则全局安装命令本身就跑不起来。

  1. 确认本机已经安装 Node.js。没有装的话先装 Node.js,再继续下一步。
  2. 在终端里执行全局安装命令,装好 composerize 的命令行工具。
  3. 安装完成后,随便找一条自己熟悉的 Docker 命令试转一次,确认输出格式正常,再拿它转真正要用的命令。

安装命令是 npm install composerize -g,末尾的 -g 表示全局安装,装完之后在终端里直接输入 composerize 就能用,不用每次都写完整路径。

网页版怎么用:贴命令、拿配置、保存运行

网页版的使用过程只有四步,没有配置项要填,全部操作都在一个页面里完成。

  1. 打开 composerize 的网页版,在上方的输入框里贴入原本的 Docker 命令。
  2. 页面会立刻在下方输出对应格式的 docker-compose.yml 内容,不用点转换按钮等结果。
  3. 把下方输出的内容保存为 docker-compose.yml 文件,保存位置就是之后要运行的目录。
  4. 在该目录下执行 docker-compose up -d,把服务以后台方式启动起来。

这个流程里最容易踩的坑在第三步:文件必须保存为 docker-compose.yml,名字写错、后缀多一个字符,运行命令时就找不到配置文件。保存后先看一眼文件名,再执行启动命令。

命令行版怎么用:一条命令出结果

命令行版的用法和网页版是一回事,只是把粘贴的动作换成了在命令前面加一个词。以源稿给出的示例为例,输入下面这条命令,就会立刻输出对应格式的配置内容:

composerize docker run -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro –restart always –log-opt max-size=1g nginx

这条示例命令里包含了转换时最常见的四类参数:端口映射、卷挂载、重启策略和日志上限。转换结果里这四类信息应当原样出现,缺了任何一类,都说明原命令本身没有写全,而不是工具漏转了。还有一点要提醒:示例里的卷挂载只是格式演示,生产环境不要照搬挂载宿主 Docker 套接字的做法,演示命令和生产配置要分开看待。

composerize 网页版转换示例

转完必核对的三件事:参数、文件名、启动目录

工具只负责格式转换,不负责判断配置合不合理。转完之后、启动之前,下面三件事必须自己核对一遍,入口都在输出的配置文件和运行命令里,缺一项都可能导致服务起不来。

第一,核对四类参数有没有转全。入口是输出内容里的端口、卷、重启策略和日志设置四处。对照原命令逐项看:端口映射对不对,卷挂载路径对不对,重启策略是不是自己想要的,日志上限有没有被丢掉。原命令里没有的参数,输出里自然也不会有,发现缺失先补原命令,再重新转一次。

第二,核对文件名和保存位置。入口就是保存的那一步:文件必须叫 docker-compose.yml,保存在之后要运行的目录里。文件名或目录错了,启动命令会在错误的目录里找不到文件,报错信息看起来像配置问题,实际上只是文件放错了地方。

第三,核对启动前的端口占用。入口是启动命令 docker-compose up -d 执行之前的那一步:先确认输出里声明的端口没有被本机其他服务占用。端口冲突时服务启动会失败,这不是转换错误,而是部署环境的问题,换一个空闲端口再启动即可。

另外还有一个命令行版专属的前置核对:确认 Node.js 已经装好。没有 Node.js 时,全局安装命令和转换命令都跑不起来,先装运行环境,再谈转换。

常见问题:转不出来、结果看不懂、能不能直接上生产

贴了命令却没有输出,先看原命令是不是完整的 Docker 命令。composerize 转换的是常见的 Docker 命令行格式,原命令如果本身缺参数、格式不完整,输出结果也会跟着不完整。先把原命令补全,再重新转换,不要反复点页面以为是页面卡住了。

输出结果看不懂,先找服务名和镜像名。输出内容的核心就是两样东西:服务用什么镜像、服务怎么跑。先确认镜像名是不是自己要用的那一个,再看端口和挂载是不是自己要的那几项,剩下的字段可以对照着原命令一项项认,不必先把整份配置背下来。

转完能不能直接上生产?建议先通读一遍再启动。工具保证的是格式正确,不是配置合理。生产环境启动之前,至少通读一遍输出,确认端口、挂载和重启策略都符合自己的部署要求,再执行启动命令。直接复制到生产、出了问题再回头查,成本比通读一遍高得多。

网页版和命令行版的结果会不会不一样?两者转换的是同一套格式逻辑,同一条命令的输出应当一致。如果发现不一致,优先怀疑两次输入的命令本身不一样,比如某次漏贴了一段参数,先把两次输入对齐,再比较输出。

适合谁,不适合谁

适合的人很明确:平时要写 Docker Compose 配置,但不想每次都翻文档核对字段写法的人;手头已经有一条能跑的 Docker 命令,想把它沉淀成配置文件、以后用 docker-compose up -d 一键启动的人;自托管用户、开发者、运维新手都在这个范围内。工具的价值不在功能多,而在把查文档、拼格式这两步省掉了。

不适合的人同样明确:从不接触 Docker 的人,用不上转换;已经有一套现成且一直在用的 Compose 文件、不需要再从命令行反推配置的人,也没有必要为了用工具而用工具。还有一种情况不适合直接套用:原命令本身就是临时调试用的、参数随手写的,先把原命令整理成真正要部署的样子,再转换,顺序反了会把调试用的临时参数也带进配置文件。

获取方式:微信关注公众号软件教程管家,回复 composerize,即可获取下载地址。

推广composerize 免费下载|把 Docker

关注「软件教程管家」

回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。

版权与使用提示

本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›

上次编辑至今:10小时 · 内容还比较新鲜

公告

契机库网站正式上线!

了解更多
正文完
 0
评论(没有评论)