Si je lance l'image officielle de tomcat avec cette commande :
docker exec -d -e JAVA_OPTS="-Xms5000m -Xmx10000m" tomcat:8
tomcat démarre avec succès
mais si je crée docker-compose.yml avec ce contenu
tomcat:
image: tomcat:8
environment:
- JAVA_OPTS="-Xms5000m -Xmx10000m"
puis je lance :
docker-compose up
J'obtiens cette sortie :
Recreating temp_tomcat_1...
Attaching to temp_tomcat_1
tomcat_1 | Invalid initial heap size: -Xms5000m -Xmx10000m
tomcat_1 | Error: Could not create the Java Virtual Machine.
tomcat_1 | Error: A fatal exception has occurred. Program will exit.
temp_tomcat_1 exited with code 1
Gracefully stopping... (press Ctrl+C again to force)
Des idées ce qui ne va pas?
mon système :
docker -v
Docker version 1.5.0, build a8a31ef/1.5.0
docker-compose --version
docker-compose 1.1.0
uname -a
Linux docker.mzk.cz 3.18.7-200.fc21.x86_64 #1 SMP Wed Feb 11 21:53:17 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
docker -D info
Containers: 11
Images: 40
Storage Driver: btrfs
Build Version: Btrfs v3.18.1
Library Version: 101
Execution Driver: native-0.2
Kernel Version: 3.18.7-200.fc21.x86_64
Operating System: Fedora 21 (Twenty One)
CPUs: 2
Total Memory: 15.67 GiB
Name: docker.mzk.cz
ID: GYRC:LL2X:GT6M:IAGQ:UUIN:XQ7Q:WHUY:SICW:IB3Z:FJZP:LCDI:K6LW
Debug mode (server): false
Debug mode (client): true
Fds: 22
Goroutines: 40
EventsListeners: 0
Init SHA1: a2b40aadd44cc16541a4c34c5572d145d2c052d5
Init Path: /usr/libexec/docker/dockerinit
Docker Root Dir: /var/lib/docker
Salut, je pense que vous devriez changer votre yaml.
Notez que la dernière ligne ne commence pas par un tiret et utilise :
au lieu de =
tomcat:
image: tomcat:8
environment:
JAVA_OPTS: "-Xms5000m -Xmx10000m"
@MartinRumanek
Définir un environnement dans docker-compose.yml avec ceci
environment:
- JAVA_OPTS="-Xms5000m -Xmx10000m"
donne au conteneur cet environnement (exécutez 'docker inspect' sur le conteneur pour voir):
"JAVA_OPTS= \"-Xms5000m -Xmx10000m\"",
Supprimez les guillemets extérieurs (malgré l'espace dans le val) pour donner à catalina.sh les valeurs avec lesquelles il peut fonctionner.
@david-resnick Vous avez raison. Merci.
Commentaire le plus utile
Salut, je pense que vous devriez changer votre yaml.
Notez que la dernière ligne ne commence pas par un tiret et utilise
:
au lieu de=