docker - 如何通过 SSH 访问 docker 容器?

标签 docker ssh

我目前是思考 为我的 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 的主机访问。

您使用端口转发(-pdocker run 标志)提供对服务的远程访问。例如,如果您在容器内的端口 8080 上运行网络服务器,则可以在主机上的端口 80 上使用它,执行以下操作:
docker run -p 80:8080 mywebserver

This document更详细地描述了一些与端口转发相关的选项。

关于docker - 如何通过 SSH 访问 docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48989421/

相关文章:

docker - Docker撰写文件中的'-'字符

macos - 如何将docker-machine创建的VM绑定(bind)到OSX IP地址?

git - SSH 不使用公钥进行身份验证 (Windows)

sql - 通过SSH/Qshell的SQL命令

python - 如何使用特定的 HostkeyAlgorithms 配置 pysftp/paramiko 连接 - python

linux - 从 Linux 终端启动 Web 浏览器(使用 ssh)

Git Fetch - 使用特定用户的 ssh key

node.js - Docker 无法从 package.json 文件安装依赖项

r - 更改 `docker`示例脚本以在本地文件(R包)上运行

linux - LXC 非特权容器内的 Docker