Linux中國

將 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

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 命令了。

資源:

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

作者:sk 選題:lkxed 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...