【问题标题】:docker host pid mode doesn't work in swarm modedocker host pid 模式在 swarm 模式下不起作用
【发布时间】:2017-12-26 09:39:32
【问题描述】:

我想要一个container 与主机OS 共享PID 命名空间,我在docker 中找到了host PID mode

pid

pid: "host"

将 PID 模式设置为主机 PID 模式。这开启 在容器和主机操作系统之间共享 PID 地址空间。使用此标志启动的容器将能够 访问和操作裸机机器中的其他容器 命名空间,反之亦然。

引用自https://docs.docker.com/compose/compose-file/#pid

它似乎适用于docker rundocker-compose upswarm 模式,例如

$ docker run ---detach --pid=host ubuntu:16.04 tail -f /dev/null
$ docker exec -it container_name top
# Return all processes within host OS namespace.

##docker-compose.yml##
version: '3.4'

services:
    test:
        image: ubuntu:16.04
        command: tail -f /dev/null
        pid: host

$ docker-compose -f docker-compose.yml up -d
$ docker exec -it container_name top
# Return all processes within host OS namespace.

# there is only one manager node in the swarm(no another worker).

$ docker stack deploy -c docker-compose.yml test
$ docker exec -it container_name top 
# Return only container process namespace.

我知道某些选项对于swarm mode 不起作用。但是,在这种情况下,据我所知,docker 文档总是指定,例如,container_name 选项(参见它指定container_nameswarm 模式下不起作用。)。

容器名称

.....

.....

注意:在使用 swarm 模式部署堆栈时,此选项将被忽略 一个(版本 3)撰写文件。

我的 docker 环境是Docker 17.09.0-cedocker-compose 1.17.0 on Ubuntu16。为什么pid 模式不能在swarm 模式下工作?

【问题讨论】:

    标签: docker docker-swarm


    【解决方案1】:

    最后,我在github 上开了一个问题,我得到了答案。

    https://github.com/docker/docker.github.io/issues/5624

    【讨论】:

      【解决方案2】:

      docker swarm 不支持在容器内使用主机的 PID 命名空间,通过在 swarm 服务中使用 --pid=host。仅供参考,将 pid 添加到不受支持的选项列表以便打印警告的补丁已被推送。

      你可以在https://github.com/docker/swarmkit/issues/1605看到这个

      所以对于最新版本的 docker swarm,如果你运行命令:

      $ docker stack deploy -c docker-compose.yml foobar
      

      其中包含--pid=host,您应该会收到以下警告:

      忽略不支持的选项:pid

      如果必须使用此功能,请坚持使用 docker compose。

      https://www.aquasec.com/wiki/display/containers/Docker+Swarm+101 有更多关于 Docker Swarm 的信息,如果你有兴趣的话。

      【讨论】:

        猜你喜欢
        • 2018-06-29
        • 1970-01-01
        • 2017-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-18
        • 2019-03-05
        • 1970-01-01
        相关资源
        最近更新 更多