通过以群体模式创建Docker服务来设置Docker交换

时间:2020-10-13 09:25:24

标签: docker docker-swarm swap

我想以群体模式创建docker服务,并使用docker-swap设置容器的交换值。但是,码头工人正在返回消息:

未知标志:--memory-swap

查看docker dencode上的文档,它说可以设置该标志。

我具有以下docker版本:

Client: Docker Engine - Community
 Version:           19.03.3
 API version:       1.40
 Go version:        go1.12.10
 Git commit:        a872fc2f86
 Built:             Tue Oct  8 00:59:59 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.3
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.10
  Git commit:       a872fc2f86
  Built:            Tue Oct  8 00:58:31 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

要创建服务,请使用以下语句:

sudo docker service create \
--name servicename \
--replicas 1 \
--env DEBUG_LEVEL=0 \
--label com.docker.stack.image=imagename:latest \
--label com.docker.stack.namespace=namespace \
--label traefik.backend.loadbalancer.swarm=true \
--label traefik.docker.network=networkname \
--label traefik.port=80 \
--label traefik.webservice.frontend.entryPoints=https \
--reserve-memory=16M \
--limit-memory=128M \
--memory-swap=128M \
--limit-cpu=0.25 \
--network traefik-net2 \

我可以在没有交换设置的情况下创建服务,但是必须停用其他服务的交换。

我在这里找到了类似的问题,但答案无济于事:https://docs.docker.com/config/containers/resource_constraints/

编辑: 当我想在容器级别更新交换时,它正在工作:

docker update --memory-swap 128M containerId

当我想更新服务级别上的交换时,它不起作用并且出现相同的错误:

docker service update --memory-swap 128M serviceId

0 个答案:

没有答案