docker - 修改docker容器内的sysctl参数

标签 docker docker-compose docker-swarm swarm sysctl

我正在运行一个3节点群集集群,并尝试使用以下命令启动服务

docker 栈部署

下面是我的撰写文件

services:

  nginx:
   image: nginx:latest
   networks:
     - til-prod-network
   volumes:
     - type: bind
       source: /tmp/nginx/nginx.conf
       target: /etc/nginx/nginx.conf
   ports:
     - 83:80
  depends_on:
    - BLUE
  deploy:
    replicas: 1
    update_config:
    parallelism: 1
    delay: 10s
  restart_policy:
    condition: on-failure
  placement:
    constraints:
      - node.role == manager
  resources:
    reservations:
      memory: 4096M
    limits:
      memory: 4096M

  BLUE:
    image: dtr.xxx.xxx/cmdb:v1.26
    sysctls:
      net.core.somaxconn: 4096
    networks:
     - til-prod-network
    deploy:
     replicas: 2
     update_config:
     parallelism: 1
     delay: 10s
    placement:
      constraints:
        - node.role == worker
    resources:
      reservations:
         memory: 2048M
      limits:
         memory: 2048M

 networks:
   til-prod-network:
      external: true

但是,当我通过docker stack deploy部署它时,出现了“不受支持的选项sysctls”错误。

Docker文档也是如此。

在集群模式下运行时,我应该实现什么解决方案来修改容器内部的sysctl。

最佳答案

对Docker added中的docker swarm集群19.03.0的Sysctl支持。

关于docker - 修改docker容器内的sysctl参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51378765/

相关文章:

python - 在docker compose yml文件中设置环境变量时出现文件未找到错误

Docker 群服务环境变量在容器内不可见

LXC 容器中的 Docker 群

python - 在不通过 SSH 进入我的容器的情况下运行测试

mysql - 如何在 Docker 容器中使用模式初始化 MySQL 数据库?

docker - Redis 连接到 127.0.0.1 :6379 failed using Docker

docker - Docker Swarm收听Manager和工作节点的ISP ip

Docker、Registrator 和 Consul 示例

php - Docker容器的粒度

mysql - 连接到 docker-compose mysql 容器会拒绝访问,但运行相同镜像的 docker 不会