【问题标题】:Is it possible to use docker swarm with rootless docker?是否可以将 docker swarm 与无根 docker 一起使用?
【发布时间】:2020-01-13 07:56:24
【问题描述】:

我已经成功安装了无根 docker,现在我正在尝试使用 docker swarm。我正在运行四个 GCP 实例。我按照以下步骤操作:

在节点 1 上

  1. docker swarm init --advertise-addr 34.93.X.X

  2. docker swarm join-token manager 给出 docker swarm join --token SWMTKN-1-21vhv6gawb9mpur1v379sq52ia2jq4n0boqes0wos10o7m833l-5935hxvsht0x21o0qjpeqykae 34.93.X.X:2377

在节点 2 上

  1. docker swarm join --token SWMTKN-1-2xtpxpc18p8qf3e4kb3dvsjr4a4ae786entmwuekh6w5bbfmpz-e5rhoya81d1pajet80wx34mcv 34.93.X.X:2377 --advertise-addr 34.93.X.X 给出以下错误

来自守护进程的错误响应:rpc 错误:代码 = 不可用 desc = 所有 SubConns 都处于 TransientFailure,最新连接错误:连接错误:desc =“传输:拨号时出错 dial tcp 34.93.X.X:2377:连接:连接被拒绝”

注意

使用 rootful docker 我可以加入节点。

【问题讨论】:

    标签: docker docker-swarm


    【解决方案1】:

    今天不可能。这不是 Swarm 的错,而是 Linux 的设计。 Swarm(默认情况下)使用覆盖网络,在 iptables 中创建虚拟 IP、VXLAN 路由等,据我所知,无根(任何东西)无法将 Linux 网络控制到那个级别。

    https://docs.docker.com/engine/security/rootless/#known-limitations

    如果您的目标只是锁定 Docker,我认为它对用户命名空间(dockerd 以 root 身份运行,但容器不以 root 身份运行)、更改在容器中运行的默认用户以及其他方面更有效我在这里列出的步骤https://github.com/BretFisher/ama/issues/17

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      相关资源
      最近更新 更多