No puedo especificar la CPU y la memoria para los servicios especificados en la versión 3.
Con la versión 2, funciona bien con los parámetros "mem_limit" y "cpu_shares" en los servicios. Pero falla al usar la versión 3, ponerlos en la sección de implementación no parece valioso a menos que esté usando el modo enjambre.
¿Alguien puede ayudar?
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
fuente
fuente
Respuestas:
Sé que el tema es un poco antiguo y parece obsoleto, pero de todos modos pude usar estas opciones:
al usar la versión 3.7 de docker-compose
Lo que ayudó en mi caso fue usar este comando:
docker-compose --compatibility up
--compatibility
representa la bandera (tomado de la documentación):Creo que es genial, que no tengo que revertir mi archivo docker-compose a v2.
fuente
Más: https://docs.docker.com/compose/compose-file/#resources
En tu caso específico:
Nota:
También tenga en cuenta: las redes en modo Swarm no se unen. Si desea conectarse solo internamente, debe conectarse a la red. Puede 1) especificar una red externa dentro de otro archivo de composición, o tener que crear la red con el parámetro --attachable (docker network create -d overlay My-Network --attachable) De lo contrario, debe publicar el puerto de esta manera:
fuente
docker stack deploy
de implementacióndeploy
se ignora si no está usando Swarm. Realmente no hay razón para usar el formato v3 a menos que esté usando Swarm.memory-swap
opción mencionada en docs.docker.com/v17.12/config/containers/resource_constraints/… ? No veo un ejemplo de cómo configurarlodocker-compose.yml
( docs.docker.com/v17.12/compose/compose-file/#resources ). Muchas gracias.Docker Compose no admite la
deploy
clave. Solo se respeta cuando usa su archivo YAML de la versión 3 en un Docker Stack.Este mensaje se imprime cuando agrega la
deploy
clave a sudocker-compose.yml
archivo y luego ejecutadocker-compose up -d
La documentación ( https://docs.docker.com/compose/compose-file/#deploy ) dice:
fuente