Я не могу указать ЦП и память для служб, указанных в версии 3.
В версии 2 он отлично работает с параметрами «mem_limit» и «cpu_shares» в службах. Но это не удается при использовании версии 3, размещение их в разделе развертывания не кажется достойным, если я не использую режим роя.
Кто-нибудь может помочь?
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
источник
источник
Ответы:
Я знаю, что тема устарела и кажется устаревшей, но в любом случае я смог использовать эти параметры:
при использовании версии 3.7 docker-compose
В моем случае помогло использование этой команды:
docker-compose --compatibility up
--compatibility
flag означает (взято из документации):Думаю, это здорово, что мне не нужно возвращать мой файл docker-compose обратно к v2.
источник
Подробнее: https://docs.docker.com/compose/compose-file/#resources
В вашем конкретном случае:
Примечание:
Также обратите внимание: сети в режиме Swarm не соединяются. Если вы хотите подключиться только внутренне, вам необходимо подключиться к сети. Вы можете 1) указать внешнюю сеть в другом файле compose или создать сеть с параметром --attachable (docker network create -d overlay My-Network --attachable) В противном случае вы должны опубликовать порт следующим образом:
источник
docker stack deploy
для развертывания в рой.»deploy
игнорируется, если вы не используете Swarm. На самом деле нет причин использовать формат v3, если вы не используете Swarm.memory-swap
параметр, упомянутый на docs.docker.com/v17.12/config/containers/resource_constraints/… ? Я не вижу примера того, как установить его вdocker-compose.yml
( docs.docker.com/v17.12/compose/compose-file/#resources ). Спасибо.Docker Compose не поддерживает на
deploy
клавишу. Это соблюдается только при использовании YAML-файла версии 3 в стеке Docker.Это сообщение печатается, когда вы добавляете
deploy
ключ вdocker-compose.yml
файл и затем запускаетеdocker-compose up -d
В документации ( https://docs.docker.com/compose/compose-file/#deploy ) говорится:
источник