首页 > 解决方案 > 如何连接到docker主机?

问题描述

我对 docker 主机是“什么”以及它与我的系统本身有何不同感到有些困惑。

我做了以下,

docker run jenkins

/* in a new tab */
docker ps // to get the container id
docker inspect {container-id} // to get the IP

据我了解,我可以连接到容器 IP 的唯一方法是从内部docker host(如果我没有端口映射) - 那么如何连接到主机呢?

我知道我可以bash进入容器和curl我从中获得的 IP inspect,但这与连接到 不同docker host,是吗?

标签: docker

解决方案


您在这里使用术语“docker host”的方式听起来像是您使用该术语来指代容器本身。(您可能还指的是运行容器的物理机器)。

您可以将容器基本上视为一个非常轻量级的虚拟机——它有自己的文件系统、网络,可能还有 CPU 和 RAM 资源等。因此,如果不配置网络,容器将被隔离。由于种种原因,这个类比并不完美,但它非常接近正在发生的事情。

换句话说,如果没有端口映射(或“主机网络”,有关 docker 网络的更多详细信息,请参阅此页面),如您所见,您只能访问容器内的网络,除非您映射端口(或者,也许是在连接到同一个桥接网络的不同容器内)。

在这种情况下,您可能最好映射端口,以便您可以访问在容器内运行的服务。


推荐阅读