將 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。
安裝完 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
現在在你的 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive