Ich kann keine CPU und keinen Speicher für die in Version 3 angegebenen Dienste angeben.
Mit Version 2 funktioniert es gut mit den Parametern "mem_limit" und "cpu_shares" unter den Diensten. Aber es schlägt fehl, wenn Sie Version 3 verwenden. Wenn Sie sie in den Bereitstellungsbereich stellen, ist dies nur dann sinnvoll, wenn ich den Schwarmmodus verwende.
Kann jemand helfen?
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
quelle
quelle
Antworten:
Ich weiß, dass das Thema etwas alt ist und veraltet zu sein scheint, aber trotzdem konnte ich diese Optionen verwenden:
bei Verwendung der Version 3.7 von Docker-Compose
Was in meinem Fall geholfen hat, war die Verwendung dieses Befehls:
docker-compose --compatibility up
--compatibility
flag steht für (aus der Dokumentation entnommen):Ich finde es großartig, dass ich meine Docker-Compose-Datei nicht auf v2 zurücksetzen muss.
quelle
Weitere Informationen : https://docs.docker.com/compose/compose-file/#resources
In Ihrem speziellen Fall:
Hinweis:
Beachten Sie auch: Netzwerke im Schwarmmodus werden nicht überbrückt. Wenn Sie nur eine interne Verbindung herstellen möchten, müssen Sie eine Verbindung zum Netzwerk herstellen. Sie können 1) ein externes Netzwerk in einer anderen Erstellungsdatei angeben oder das Netzwerk mit dem Parameter --attachable erstellen (Docker-Netzwerk erstellen -d Overlay My-Network --attachable). Andernfalls müssen Sie den Port wie folgt veröffentlichen:
quelle
docker stack deploy
zum Bereitstellen auf einem Schwarm verwendet."deploy
wird es ignoriert, wenn Sie Swarm nicht verwenden. Es gibt wirklich keinen Grund, das v3-Format zu verwenden, es sei denn, Sie verwenden Swarm.memory-swap
unter docs.docker.com/v17.12/config/containers/resource_constraints/… erwähnte Option einstellen ? Ich sehe kein Beispiel für die Einstellungdocker-compose.yml
( docs.docker.com/v17.12/compose/compose-file/#resources ). Vielen Dank.Docker Compose unterstützt den
deploy
Schlüssel nicht. Dies wird nur beachtet, wenn Sie Ihre YAML-Datei der Version 3 in einem Docker-Stapel verwenden.Diese Nachricht wird gedruckt, wenn Sie den
deploy
Schlüssel zu Ihrerdocker-compose.yml
Datei hinzufügen und dann ausführendocker-compose up -d
In der Dokumentation ( https://docs.docker.com/compose/compose-file/#deploy ) heißt es:
quelle