在Swarm中的Docker Compose特权模式

11

我正在使用 docker-compose.yml 在一个由树莓派组成的 Docker 集群中部署服务。我的服务需要访问树莓派的GPIO并需要特权模式。我正在使用 Docker 版本 18.02 和 docker-compose 版本 3.6。当我部署堆栈时,我会收到以下消息,并且服务无法被部署: "Ignoring unsupported options: privileged"。有什么提示吗?下面是我的docker-compose.yml 文件。

version: '3.6'     

networks:
    swarm_network:
        driver: overlay


services:
    service1:
        image: localrepo/img1:v0.1
        privileged: true
        deploy:
            mode: replicated
            replicas: 1
            placement:
                constraints:
                    - node.hostname == home-desktop

        ports:
            - published: 8000
              target: 8000
              mode: host

        networks:
            swarm_network:

    service2:
        image: localrepo/img1:v0.1 
        privileged: true
        deploy:
            mode: replicated
            replicas: 1

        ports:
            - published: 7000
              target: 7000
              mode: host

        networks:
            swarm_network:

    nodeViewer:
      image: alexellis2/visualizer-arm:latest
      ports:
        - "8080:8080"
      volumes:
        - "/var/run/docker.sock:/var/run/docker.sock"
      deploy:
        placement:
          constraints: [node.role == manager]
      networks:
        - swarm_network
2个回答

6

这是因为docker swarm不支持特权模式。我曾经使用特权模式运行过类似的docker compose,但在使用docker swarm时将其删除并成功运行。

这不算是错误。例如,如果您使用类似于links或depends_on之类的东西,您将收到类似的警告消息。这些只是警告,而不是错误。

以下是如何检查是否有错误日志:

docker service ls (to check running service) 

docker service logs servicename

我知道这不是一个错误信息。在Docker Swarm中,特权模式不被支持。但是我想要在设备集群上部署我的服务。我可以使用Docker Compose来完成这个任务吗?也就是说,只用Docker Compose是否可以对节点集群进行服务编排? - eth crypt
我认为仅使用docker-compose是不可能实现的。 - Tara Prasad Gurung

1
整个功能已经实现并且按照我的观察运行正常,因此任何想要测试的人都可以通过从https://master.dockerproject.org下载最新的Docker引擎(dockerd)夜间版本构建和从https://github.com/olljanat/cli/releases/tag/beta1下载自定义构建版本的Docker CLI来进行测试。您还可以从docker/cli#2199中找到CLI的用法示例以及从docker/cli#1940中找到Stack的用法示例。如果您在这些内容中发现了错误,请留下评论以更正PR。另请注意,在审核期间语法可能仍会更改。

来源:https://github.com/moby/moby/issues/25885#issuecomment-557790402

我亲自测试过,它完美地工作了。感谢作者


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接