gpt4 book ai didi

docker - 本地 Docker 容器之间的 SSH

转载 作者:行者123 更新时间:2023-12-02 13:54:40 25 4
gpt4 key购买 nike

刚刚开始使用 Docker。从同一图像在本地运行多个 docker 容器。

docker run -it -p 52022:22 ubuntu
docker run -it -p 52023:22 ubuntu

我添加了 openssh-server 和设置 key 。我如何在它们之间进行 ssh(用于实验目的)?尝试使用我从 docker 容器中获得的主机名进行 ssh 导致无法解析主机名

最佳答案

警告 ssh 进入根容器可能会授予根访问其主机的权限。

您可以创建一个 swarm 并使用生成的 dns 名称与它们交谈。

仅供引用这个例子,因为 ubuntu 没有运行任何东西,它停止容器并启动另一个。您将需要启动一个像 httpd 一样保持运行的容器

这是我的小狗示例。 doggy/docker-compose.yml 文件看起来像这样。

version: '3.0'
services:
sparkey:
image: "httpd"
ports:
- "52022:22"
- "9002:80"
limey:
image: "httpd"
ports:
- "52023:22"
- "9003:80"

如果尚未完成,请初始化 swarm。

docker swarm init

然后在一个小狗文件夹中。

docker stack deploy --compose-file docker-compose.yml doggy

然后当你进入容器时,从 docker ps 获取容器名称。

docker exec -it doggy_limey_1.7jm5muapfhekb11v2ei8gvnc9 bash

如果swarm中有多台主机,你可以找到机器。

docker service ps doggy

您可以使用生成的 dns 名称或 swarm 管理器的 ip 与对方交谈。

ping doggy_sparkey
PING doggy_sparkey (10.0.0.4): 56 data bytes
64 bytes from 10.0.0.4: seq=0 ttl=64 time=0.036 ms
64 bytes from 10.0.0.4: seq=1 ttl=64 time=0.070 ms

使用此命令停止堆栈。

docker stack rm doggy

关于docker - 本地 Docker 容器之间的 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47800486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com