我目前是思考 为我的 ipython 并行节点构建 docker 镜像。因为用命令手动配置每一个都很痛苦。我可以通过在我的笔记本电脑(主节点)上键入 ssh user@ip 来访问此图像(位于我的 LAN 上的另一台 PC 上)吗?如何获取在我的节点上运行的 docker 镜像的 ip?
最佳答案
Will i be able to access this image (located on a different PC on my LAN) simply by typing ssh user@ip on my laptop (Master Node)?
除非您安排运行
sshd
,否则您无法 ssh 进入容器。在那个容器里面。通常这是没有必要的。作为 this answer说明您可以简单地使用 docker exec
访问正在运行的容器。How do i get the ip of the docker image running on my Node?
首先,关于命名法的说明:图像只是文件的集合。容器是您从镜像启动服务时获得的。换句话说,询问有关访问或获取图像 IP 地址的问题是没有意义的。
您可以使用
docker container inspect
获取容器的 IP 地址命令,它将向您显示有关容器的各种信息。但是,这可能不是您想要的:容器的 ip 地址将是 docker 内部网络上的私有(private) ip 地址,只能从您运行 docker 的主机访问。您使用端口转发(
-p
的 docker run
标志)提供对服务的远程访问。例如,如果您在容器内的端口 8080 上运行网络服务器,则可以在主机上的端口 80 上使用它,执行以下操作:docker run -p 80:8080 mywebserver
This document更详细地描述了一些与端口转发相关的选项。
关于docker - 如何通过 SSH 访问 docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48989421/