[英]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 圖像並傳遞這些參數?
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.