Au moment de poser cette question, Docker semble être suffisamment nouveau pour ne pas avoir de réponses à cette question sur le net. Le seul endroit que j'ai trouvé est cet article dans lequel l'auteur dit que c'est difficile, et c'est tout.
Je conviens que cela dépend du conteneur que vous utilisez. Si vous utilisez l'officiel image Tomcat , il semble que ce soit assez simple, vous devrez passer le Java_OPTS
variable d’environnement avec vos paramètres de tas:
docker run --rm -e Java_OPTS='-Xmx1g' Tomcat
Voir Comment définir les paramètres de la machine virtuelle Java?
Notez que dans un docker-compose.yml
fichier - vous devrez omettre les guillemets:
environment:
- JVM_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=1024m
ou
environment:
- CATALINA_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=1024m
Vous pouvez également simplement placer ces paramètres dans votre image afin que quelque chose comme ce qui suit existe dans votre fichier Docker:
ENV Java_OPTS="-XX:PermSize=1024m -XX:MaxPermSize=512m"
Tout dépend de la manière dont votre application Java est empaquetée et de la manière dont ses fichiers de configuration sont exposés à l'aide de Docker.
Par exemple, image officielle de Tomcat indique que le fichier de configuration est disponible à l'emplacement par défaut:/usr/local/Tomcat/conf /
Tellement facile de remplacer un répertoire entier ou un seul fichier de configuration:
docker run -it --rm -p 8080:8080 -v $PWD/catalina.properties:/usr/local/Tomcat/conf/catalina.properties Tomcat:8.0