web-dev-qa-db-fra.com

Convertir une commande de docker run en un docker-compose

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?

8
Juliatzin del Toro

Conversion d'une commande de docker run en un fichier de composition

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">
5
Jinna Balu

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 ...

9
Thiago Silva

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
2
Yuankun

Cet outil vous aidera à convertir la commande docker run en docker-compose la plupart des fonctionnalités

enter image description here

1
anish