docker 中的特权模式组合成一个群

eth*_*ypt 8 raspberry-pi docker docker-compose docker-swarm

我正在使用docker-compose.yml在具有树莓派集群的 docker swarm 中部署服务。我的服务需要访问 raspberry pi 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
Run Code Online (Sandbox Code Playgroud)

Tar*_*ung 5

那是因为 docker swarm 不支持特权。我有一个类似的 docker compose 在特权模式下运行,但是在使用它来 docker swarm 时,我删除了它们并且运行良好。

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

如果有任何错误日志,这就是您实际检查错误日志的方式

docker service ls (to check running service) 

docker service logs servicename
Run Code Online (Sandbox Code Playgroud)