我想创建一个容器网络,其中一个中央容器应该能够通过 ssh 连接到所有其他容器。通过 ssh 中央容器可以使用 Ansible 更改所有其他容器的配置。我知道不建议从一个容器 ssh 到另一个容器,我们可以使用 volume 进行数据共享,但这不适合我的用例。我能够从主机 ssh 到容器,但我不能从一个容器到另一个容器。
我正在使用的 Docker 文件是:
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y netcat ssh iputils-ping
EXPOSE 22
Run Code Online (Sandbox Code Playgroud)
Dockerfile 创建的镜像名为 ubuntu:v2
然后使用下面的命令我创建了两个容器 u1 和 u2
docker run -p 22 --rm -ti --name u1 ubuntu:v2 bash
docker run -p 22 --rm -ti --name u2 ubuntu:v2 bash
Run Code Online (Sandbox Code Playgroud)
在容器中,我正在运行以下命令以在容器中创建用户。在 u1 容器中创建用户 u1,在 u2 容器中创建用户 u2
root@d0b0e44f7517:/# mkdir /var/run/sshd
root@d0b0e44f7517:/# chmod 0755 /var/run/sshd
root@d0b0e44f7517:/# /usr/sbin/sshd
root@d0b0e44f7517:/#
root@d0b0e44f7517:/# useradd --create-home --shell /bin/bash --groups …Run Code Online (Sandbox Code Playgroud)