將 Docker 命令轉化為 Docker Compose 文件
使用 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 后,運行以下命令來安裝 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 文件!
Turn Docker Run Commands Into Docker-compose Files Using Composerize
將命令轉換為 Docker Compose 文件后,到你保存 docker-compose.yml 文件的位置,運行以下命令來啟動 Docker 應用:
$ docker-compose up
Composerize 是對 Docker 用戶有用的工具之一。你現在可以安全地告別漫無邊際的 Docker 命令了。