將 Docker 命令轉化為 Docker Compose 文件
使用 Composerize 從 docker run 命令創(chuàng)建 Docker Compose 文件
如果你每天在正式或個人系統(tǒng)中使用 Docker,你應該知道有一個有用的應用叫 Composerize。在這個簡短的指南中,我們將了解什么是 Composerize,以及如何使用 Composerize 在 Linux 中將 docker run? 命令轉換為 Docker Compose 文件格式。
什么是 Composerize?
Docker Compose 是一個用于定義和運行多容器 Docker 應用的工具。Docker Compose 只是一個 YAML 文件,我們在其中為 Docker 應用定義服務、網(wǎng)絡和卷。
不是每個人都擅長寫高效的 Docker Compose 文件。你們中的一些人可能會發(fā)現(xiàn),甚至寫一個簡單的 Docker Compose 文件都很困難。不用擔心! 看下 Composerize,它可以幫助你從 docker run 命令中創(chuàng)建 Docker Compose 文件。
Composerize 是一個命令行和基于網(wǎng)絡的工具,可以將 docker run 命令轉換成 Docker Compose 文件。
無論 docker run? 命令是簡單、簡短還是冗長、復雜,都沒有關系。你所要做的就是把命令傳給 Conposerize。Composerize 會立即將 docker run 命令變成 Docker Compose 文件!
在 Linux 中安裝 Composerize
Composerize 是作為一個網(wǎng)絡服務提供的。所以你不需要在你的系統(tǒng)上安裝它。如果你因為任何原因想在本地安裝它,請繼續(xù)閱讀。
Composerize 可以用 npm 安裝。確保你的系統(tǒng)中已經(jīng)安裝了 Nodejs。
安裝完 Nodejs 后,運行以下命令來安裝 Composerize:
$ npm install composerize
該命令將只為當前用戶安裝 Composerize。
如果你想在全局(全系統(tǒng))安裝它,請運行上述命令并加上 -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
現(xiàn)在在你的 docker-compose.yml 文件中復制上面幾行。就這么簡單!
正如我所說,你也可以使用 Composerize 網(wǎng)絡服務將 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 用戶有用的工具之一。你現(xiàn)在可以安全地告別漫無邊際的 Docker 命令了。