docker 无法通过宿主机ip去访问其他容器
时间: 2023-10-10 11:11:00 浏览: 459
Docker容器通过独立IP暴露给局域网的方法
默认情况下,Docker 容器之间是隔离的,它们只能通过容器 ID 或容器名称进行通信。如果您要通过宿主机 IP 地址访问其他容器,则需要使用 Docker 网络。
首先,您需要创建一个自定义的 Docker 网络:
```
docker network create mynetwork
```
然后,在运行容器时,使用 `--network` 选项将容器连接到该网络:
```
docker run --name container1 --network mynetwork image1
docker run --name container2 --network mynetwork image2
```
这样,容器1和容器2将能够互相访问,并且它们之间的通信将通过 Docker 网络进行。
要通过宿主机 IP 地址访问其他容器,需要使用容器名称或 ID 以及端口号。例如,如果您要访问容器1中运行的 Web 应用程序:
```
curl http://container1:80
```
或者,如果您要从宿主机中访问容器1中运行的 Web 应用程序:
```
curl http://localhost:8080
```
其中,8080 是宿主机上的端口号,该端口号映射到容器1中运行的 Web 应用程序的端口 80。
阅读全文