如何在dockerfile本身中限制docker容器的内存

时间:2018-08-28 11:13:31

标签: docker

我想在docker文件本身中限制我的docker容器。我不想在运行时中限制。 我需要在docker文件中使用 -XX:MaxRAMFraction = 4 这个值 我有一个docker compose文件可以调用我的docker文件。我可以使用类似的选项吗 记录: 选项:  -XX:MaxRAMFraction = 4 ? 这样行吗?

3 个答案:

答案 0 :(得分:0)

是的,您可以将JAVA_OPTS作为环境变量传递,例如:

 ...
services:
  myservice:
    image: myimage
    ports:
    - 8080
    environment:
      JAVA_OPT: "-Xms256m -Xmx1g"

如果您正在使用读取JAVA_OPT的服务器,则此方法将为您工作,如果您的Docker文件正在运行普通的jar文件,则可以将选项作为参数传递,例如:

java $ JAVA_OPT -jar {yourjarfile.jar}

答案 1 :(得分:0)

有效。 我给的是-JAVA_OPTS =“-XX:MaxRAMFraction = 18”而不是-JAVA_OPTS:“-XX:MaxRAMFraction = 18” ...所以:在这里造成的伤害。感谢答案

答案 2 :(得分:0)

我建议使用JAVA_TOOL_OPTIONS而不是JAVA_OPTS,因为第一个是由JVM直接读取的