Je ne peux pas spécifier le processeur et la mémoire pour les services spécifiés dans la version 3.
Avec la version 2, cela fonctionne très bien avec les paramètres "mem_limit" et "cpu_shares" sous les services. Mais cela échoue lors de l'utilisation de la version 3, les mettre sous la section de déploiement ne semble pas utile à moins d'utiliser le mode essaim.
Quelqu'un peut-il aider?
version: "3"
services:
node:
build:
context: .
dockerfile: ./docker-build/Dockerfile.node
restart: always
environment:
- VIRTUAL_HOST=localhost
volumes:
- logs:/app/out/
expose:
- 8083
command: ["npm","start"]
cap_drop:
- NET_ADMIN
- SYS_ADMIN
docker
docker-compose
vivekyad4v
la source
la source
Réponses:
Je sais que le sujet est un peu vieux et semble périmé, mais de toute façon j'ai pu utiliser ces options:
lors de l'utilisation de la version 3.7 de docker-compose
Ce qui a aidé dans mon cas, c'était d'utiliser cette commande:
docker-compose --compatibility up
--compatibility
drapeau signifie (extrait de la documentation):Je pense que c'est génial de ne pas avoir à rétablir mon fichier docker-compose en v2.
la source
En savoir plus: https://docs.docker.com/compose/compose-file/#resources
Dans votre cas spécifique:
Remarque:
Remarque également: les réseaux en mode Swarm ne font pas de pont. Si vous souhaitez vous connecter uniquement en interne, vous devez vous connecter au réseau. Vous pouvez 1) spécifier un réseau externe dans un autre fichier de composition, ou créer le réseau avec le paramètre --attachable (docker network create -d overlay My-Network --attachable) Sinon, vous devez publier le port comme ceci:
la source
docker stack deploy
pour déployer sur un essaim."deploy
est ignoré si vous n'utilisez pas Swarm. Il n'y a vraiment aucune raison d'utiliser le format v3 sauf si vous utilisez Swarm.memory-swap
option mentionnée sur docs.docker.com/v17.12/config/containers/resource_constraints/… ? Je ne vois pas d'exemple pour le définir dansdocker-compose.yml
( docs.docker.com/v17.12/compose/compose-file/#resources ). Merci beaucoup.Docker Compose ne prend pas en charge la
deploy
clé. Il n'est respecté que lorsque vous utilisez votre fichier YAML version 3 dans une pile Docker.Ce message est imprimé lorsque vous ajoutez la
deploy
clé à votredocker-compose.yml
fichier, puis exécutezdocker-compose up -d
La documentation ( https://docs.docker.com/compose/compose-file/#deploy ) dit:
la source