Gon*_*Cao 9 postgresql docker swarm docker-compose
我知道可以通过 docker run 或 docker compose 在 docker 容器中增加默认的 64MB /dev/shm。例如,这适用于我们的本地开发机器。
version: '3.5'
services:
postgres:
image: postgres
shm_size: '1gb'
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在我们的 swarm docker stack deploy stack_name -c docker-compose.yml 中执行此操作时,我收到“忽略不支持的选项:shm_size”并且 shm 挂载仍为默认 64MB。
我能做什么?我试图用这个参数创建一个图像,但它似乎不是我可以添加到图像中的东西,更像是一个运行时选项。创建容器后可以修改它吗?
环境是 Ubuntu 16.04 和 docker 17.12 在单节点群中。
您需要使用更新版本的 Docker Compose。最新版本(docker-compose version 1.24.0,build 0aa5906)当然支持它。
上面的答案是假设 Docker Compose,但docker swarm
根本不是一回事。配置文件中docker swarm
尚不支持shm_size
,但似乎有解决方法。
您可以在 docker-compose.yml 中添加以下代码。它将直接添加一个针对 /dev/shm 的 tmpfs 卷:
volumes:
- type: tmpfs
target: /dev/shm
tmpfs:
size: 4096000000 # (this means 4GB)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2413 次 |
最近记录: |