将 Docker 命令转化为 Docker Compose 文件
创始人
2024-03-02 12:09:26
0

使用 Composerize 从 docker run 命令创建 Docker Compose 文件

如果你每天在正式或个人系统中使用 Docker,你应该知道有一个有用的应用叫 Composerize。在这个简短的指南中,我们将了解什么是 Composerize,以及如何使用 Composerize 在 Linux 中docker run 命令转换为 Docker Compose 文件格式。

什么是 Composerize?

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。Docker Compose 只是一个 YAML 文件,我们在其中为 Docker 应用定义服务、网络和卷。

不是每个人都擅长写高效的 Docker Compose 文件。你们中的一些人可能会发现,甚至写一个简单的 Docker Compose 文件都很困难。不用担心! 看下 Composerize,它可以帮助你从 docker run 命令中创建 Docker Compose 文件。

Composerize 是一个命令行和基于网络的工具,可以将 docker run 命令转换成 Docker Compose 文件。

无论 docker run 命令是简单、简短还是冗长、复杂,都没有关系。你所要做的就是把命令传给 Conposerize。Composerize 会立即将 docker run 命令变成 Docker Compose 文件!

在 Linux 中安装 Composerize

Composerize 是作为一个网络服务提供的。所以你不需要在你的系统上安装它。如果你因为任何原因想在本地安装它,请继续阅读。

Composerize 可以用 npm 安装。确保你的系统中已经安装了 Nodejs。如果没有安装,请按照下面的链接来安装 Nodejs。

安装完 Nodejs 后,运行以下命令来安装 Composerize:

$ npm install composerize

该命令将只为当前用户安装 Composerize。

如果你想在全局(全系统)安装它,请运行上述命令并加上 -g 选项,如下所示。

$ npm install composerize -g

用 Composerize 将 Docker 命令转换为 Docker Compose 文件

要将 docker run 命令转换为 Docker Compose 格式,只需用 Composerize 运行它,如下所示:

$ composerize docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

它将以 Docker Compose 文件格式生成内容。

示例输出:

version: '3.3'
services:
    portainer:
        ports:
            - '9000:9000'
        volumes:
            - '/var/run/docker.sock:/var/run/docker.sock'
        image: portainer/portainer

Convert Docker Run Commands Into Docker-Compose Files With Composerize

现在在你的 docker-compose.yml 文件中复制上面几行。就这么简单!

正如我所说,你也可以使用 Composerize 网络服务将 docker run 命令转换成 Docker Compose 格式。

进入 https://www.composerize.com/,将 docker run 命令粘贴到框中,你就会立即得到 docker-compose.yml 文件!

将命令转换为 Docker Compose 文件后,到你保存 docker-compose.yml 文件的位置,运行以下命令来启动 Docker 应用:

$ docker-compose up

Composerize 是对 Docker 用户有用的工具之一。你现在可以安全地告别漫无边际的 Docker 命令了。

资源:


via: https://ostechnix.com/convert-docker-run-commands-into-docker-compose-files/

作者:sk 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

绿联NAS搭建macOS最...
作为NAS玩家,平时我还是蛮爱折腾虚拟机、Docker啥的。 最近...
2025-02-25 12:49:18
不指定端口运行docker...
可以使用“EXPOSE”命令在Dockerfile中指定所需的端口...
2025-01-12 11:30:32
不支持具有相同组名称的sp...
在Spring Boot中,可以通过使用不同的配置文件来支持具有相...
2025-01-11 22:31:25
不支持交换限制 - Doc...
在Docker引擎中,如果你遇到“不支持交换限制”错误,可以考虑以...
2025-01-11 22:30:26
不支持的驱动程序[]错误在...
问题是出现在Docker的构建过程中,因为Docker使用不支持的...
2025-01-11 21:01:18
不支持的地址族 gRPC ...
在处理过程中出现"不支持的地址族 gRPC Docker"错误时,...
2025-01-11 20:04:09

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...