在docker文件中获取内存限制?

Max*_*ras 4 java docker

是否有可能在运行时获取docker容器的最大内存?

我想要实现的是:

docker run --memory "100m"
Run Code Online (Sandbox Code Playgroud)

并访问docker文件中的最大内存:

ENTRYPOINT ["java", "-Xmx$memory", "-jar", "helloworld.jar"]
Run Code Online (Sandbox Code Playgroud)

Ric*_*ico 5

不要以为你可以在Dockerfile中指定内存约束.所以这样做的方法是entrypoint在命令行覆盖你的:

$ docker run -i -t --memory "100m" --entrypoint "java -Xmx`cat /sys/fs/cgroup/memory/memory.limit_in_bytes` -jar helloworld.jar" example/java-hello
Run Code Online (Sandbox Code Playgroud)