簡體   English   中英

將 docker run 命令轉換為 docker-compose

[英]Convert a docker run command into a docker-compose

我想在我的 Docker Swarm 中運行它:

docker run --rm -it progrium/stress --cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s

所以我需要一個 Docker-compose.yml

我應該如何在 docker compose 中使用這個 docker 圖像並傳遞這些參數?

將 docker run 命令轉換為撰寫文件

Composerize將幫助您將運行命令部分轉換為組合。

為了更好地理解它,我在這里描述了docker-compose.yml的組件。

image - 用於運行容器的圖像

name - 服務或容器的名稱

command - 你想在容器啟動后運行的命令

volumes - 要掛載的卷

將上面的運行命令轉換為 docker-compose:

version: "2/3/3.3/3.6" # based on the docker-compose version you use
services:
   stress: # Service name, user defined
      image: progrium/stress 
      command: '--cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s'

前兩行對於任何 docker-compose 文件都是通用的。

在 docker-compose 中,該command允許圖像接受額外的命令或選項。

docker-compose.yml

version: "2"
services:
   stress:
      image: progrium/stress
      command: '--cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s'

使用 docker-compose 編寫文件為:

docker-compose up -d
  • 撰寫文件的多個命令:

    command: bash -c "cd app/ && npm start"

  • 多行命令來組成文件:

     command: > bash -c "cd app/ && npm start" 

 <embed src="https://composerize.com/" width="100%" height="700">

只需使用這個漂亮的小工具作為幫手: https : //composerize.com/

或者按照之前答案中突出顯示的手動步驟...

此工具將幫助您將 docker run 命令轉換為 docker-compose 的大部分功能

在此處輸入圖片說明

您可以使用 Compose 文件的命令入口點關鍵字。 將 docker docker run命令轉換為 docker-compose.yml 文件中的聲明很簡單。

要在 docker-compose.yml 中使用command關鍵字:

services:
  stress:
    image: progrium/stress
    command:
    - --cpu 2
    - --io 1
    - --vm 2
    - --vm-bytes 128M
    - --timeout 10s

要在 docker-compose.yml 中使用entrypoint關鍵字:

services:
  stress:
    image: progrium/stress
    entrypoint:
    - <entrypoint name to override the original one>
    - --cpu 2
    - --io 1
    - --vm 2
    - --vm-bytes 128M
    - --timeout 10s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM