Je veux exécuter ceci dans mon Docker Swarm:
docker run --rm -it progrium/stress --cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s
j'ai donc besoin d'un Docker-compose.yml
Comment dois-je utiliser cette image de docker dans une composition de docker et transmettre ces paramètres?
Composerize vous aidera à convertir partiellement la commande run en composition.
Pour mieux le comprendre ici, j'ai décrit les composants du docker-compose.yml
.
image:
- image utilisée pour exécuter le conteneur
name:
- nom du service ou du conteneur
command
- commande que vous souhaitez exécuter une fois le conteneur en place
volumes
- vous voulez monter
Conversion de la commande d'exécution à partir des valeurs ci-dessus pour composer
version: "2/3/3.3/3.6" # based on the docker version you use
services:
stress: # Service name, user defined
image: progrium/stress
command: '--cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s'
Les deux premières lignes sont comman pour n'importe quelle composition.
Dans Docker, la propriété compose command
résout le problème.
docker-compose.yml
version: "2"
services:
stress:
image: progrium/stress
command: '--cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 10s'
composer un fichier avec docker-compose as
docker-compose up -d
Plusieurs commandes dans le fichier de composition
command: bash -c "cd app/ && npm start"
Commande de multiplication pour composer le fichier
command: > bash -c "cd app/ && npm start"
<embed src="https://composerize.com/" width="100%" height="700">
Utilisez simplement ce petit outil astucieux comme aide: https://composerize.com/
Ou suivez les étapes manuelles mises en évidence dans les réponses précédentes ...
Vous pouvez utiliser le mot clé commande ou point d'entrée de Compose file. Il est simple de traduire un docker run
commande dans les déclarations du fichier docker-compose.yml.
Pour utiliser le mot clé command
dans votre docker-compose.yml:
services:
stress:
image: progrium/stress
command:
- --cpu 2
- --io 1
- --vm 2
- --vm-bytes 128M
- --timeout 10s
Pour utiliser le mot clé entrypoint
dans votre docker-compose.yml:
services:
stress:
image: progrium/stress
entrypoint:
- <entrypoint name to override the original one>
- --cpu 2
- --io 1
- --vm 2
- --vm-bytes 128M
- --timeout 10s
Cet outil vous aidera à convertir la commande docker run en docker-compose la plupart des fonctionnalités