Docker 容器和宿主机可以通过以下几种方式进行通信:
使用端口映射:通过在容器创建时使用 -p
参数指定宿主机和容器之间的端口映射关系,使得容器的服务可以通过指定的宿主机端口访问。例如,将容器的 80 端口映射到宿主机的 8080 端口:docker run -p 8080:80 <image_name>
使用容器的 IP 地址:每个容器都有自己的 IP 地址,可以直接使用该 IP 地址与容器进行通信。可以通过 docker inspect <container_id>
或 docker inspect <container_name>
命令来获取容器的 IP 地址。
使用容器名称:可以通过容器名称来进行通信。在创建容器时,可以使用 --name
参数指定容器的名称。然后,通过该名称可以直接与容器进行通信。
使用 Docker 网络:Docker 提供了多种网络模式,可以创建自定义的网络来连接容器和宿主机,并且容器可以通过网络来相互通信。可以使用 docker network create
命令来创建一个自定义的网络,并将容器连接到该网络中。
综上所述,Docker 容器和宿主机可以通过端口映射、IP 地址、容器名称以及 Docker 网络来进行通信。