作者:江西理工大学-交通091班-李吉平 | 来源:互联网 | 2023-09-06 15:36
我当前在一个容器中的共享内存出现了一些问题。
我有一个docker-compose文件,希望可以在其中设置大小。我基本上转换了一个有--shm-size 16gb
的旧docker run。我想这就像将shm_size:16gb
添加到撰写文件中的服务一样简单。
添加它只会为我提供以下信息:Ignoring unsupported options: shm_size
。
我确实检查了docs,但这并没有真正帮助我。
只需说明一下,它不是在构建中,而是真正在“运行”状态。
你们中的一个人是否曾经遇到过这个问题/知道如何解决?
设置:
- 具有7个节点的docker swarm
- 服务应仅在单个节点上运行
- 仅正在运行的堆栈
- 64 GB RAM主机
- 32 GB shm(主机)
- Docker版本18.09.7,内部版本2d0083d
- 在撰写文件中使用v 3.7
撰写文件:
version: "3.7"
services:
server:
shm_size: 16GB # <<<<<< image: local_repo/my_app:v1-dev
command: run
environment:
- UPDATES=enabled
volumes:
- type: volume
source: data
target: /var/lib/my_app/
- type: volume
source: db
target: /var/lib/postgresql/10/main
networks:
- xxx_traefik
deploy:
mode: replicated
labels:
- traefik.docker.network=xxx_traefik
- traefik.enable=true
- traefik.port=80
- traefik.frontend.rule=Host:my_container.xxx.com
- traefik.backend.loadbalancer.stickiness=true
- traefik.protocol=http
replicas: 1
placement:
constraints:
- node.hostname==node2
volumes:
db:
external: true
data:
external: true
networks:
xxx_traefik:
external: true
# shm_size: 16GB <<<<<<
感谢您的帮助:)
应该在服务之下,我可以验证,但这是官方文档所说的
SHM_SIZE
以3.5版文件格式添加
为此构建的容器设置/ dev / shm分区的大小。
指定为代表字节数的整数值或
表示字节值的字符串。
build:
context: .
shm_size: '2gb'
compose-file-SHM_SIZE
这是测试
version: '3.7'
services:
your_service:
image: alpine
command: ash -c "sleep 2 && df /dev/shm"
shm_size: 2gb