是否可以将 docker swarm 与 rootless docker 一起使用?

问题描述 投票:0回答:1

我已经成功安装了 rootless 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 =“传输:拨打 tcp 34.93.X.X:2377 时出错:连接:连接被拒绝”

注意

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

docker docker-swarm
1个回答
4
投票

今天不可能了。这不是 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/discussions/150

© www.soinside.com 2019 - 2024. All rights reserved.