本地Docker容器之间的SSH
刚刚开始与Docker。 从同一图像本地运行多个Docker容器。
docker run -it -p 52022:22 ubuntu docker run -it -p 52023:22 ubuntu
我已经添加了openssh服务器和安装密钥。 我如何之间ssh(用于实验目的)? 尝试使用从docker容器中获得的主机名ssh导致无法parsing主机名
警告进入根容器可能会给其主机的根访问权限。
您可以创build一个群,并使用生成的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"
如果还没有完成的话,初始化一个群。
docker swarm init
然后在一个小狗文件夹中。
docker stack deploy --compose-file docker-compose.yml doggy
然后当你进入容器从docker ps获取容器名称。
docker exec -it doggy_limey_1.7jm5muapfhekb11v2ei8gvnc9 bash
如果群中有多个主机,则可以find该机器。
docker service ps doggy
您可以使用生成的DNS名称或swarmpipe理器的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