Docker-Compose 客户端 API 调用服务器失败...默认网络服务别名不起作用?
Docker-Compose Client API call to Server fails... default network service alias not working?
我想知道如何解决这个问题!本质上,默认 Docker 网络上通过服务名称的动态路由不起作用。 :(
我曾考虑过让它使用静态 IP,但这可能比解决原始问题更有效。
docker-compose.yml
version: "3.8"
services:
client:
build: client
ports: [3000]
depends_on:
- server
volumes:
- ./client:/app
mongodb:
image : mongo
environment:
- PUID=1000
- PGID=1000
ports: [27017]
restart: unless-stopped
volumes:
- ./mongodb/database:/data/db
server:
build: server
ports: [5000]
restart: always
depends_on:
- mongodb
volumes:
- ./server:/app
如果我从客户端执行此 ping 测试,它将通过浏览器运行
http://0.0.0.0:49246/ping
但是,我真的希望它能以这种方式工作
http://server:5000/ping
帮忙?谢谢!
Web 应用程序代码在浏览器中运行,而不是在托管文件的服务器中运行。浏览器通常在主机上 运行。
听起来您希望服务器映射主机上的已知端口。尝试使用它将主机端口 5000 映射到 server
容器端口 5000...
server:
build: server
ports:
- "5000:5000"
# etc
并在您的网络应用程序代码中连接 http://localhost:5000
。
见https://docs.docker.com/compose/compose-file/compose-file-v3/#ports
如果您希望您的网络应用程序代理请求(例如使用 Create React App proxy
configuration),您将使用内部主机名,因为此操作是由 client
服务执行的。
"proxy": "http://server:5000"
我想知道如何解决这个问题!本质上,默认 Docker 网络上通过服务名称的动态路由不起作用。 :(
我曾考虑过让它使用静态 IP,但这可能比解决原始问题更有效。
docker-compose.yml
version: "3.8"
services:
client:
build: client
ports: [3000]
depends_on:
- server
volumes:
- ./client:/app
mongodb:
image : mongo
environment:
- PUID=1000
- PGID=1000
ports: [27017]
restart: unless-stopped
volumes:
- ./mongodb/database:/data/db
server:
build: server
ports: [5000]
restart: always
depends_on:
- mongodb
volumes:
- ./server:/app
如果我从客户端执行此 ping 测试,它将通过浏览器运行
http://0.0.0.0:49246/ping
但是,我真的希望它能以这种方式工作
http://server:5000/ping
帮忙?谢谢!
Web 应用程序代码在浏览器中运行,而不是在托管文件的服务器中运行。浏览器通常在主机上 运行。
听起来您希望服务器映射主机上的已知端口。尝试使用它将主机端口 5000 映射到 server
容器端口 5000...
server:
build: server
ports:
- "5000:5000"
# etc
并在您的网络应用程序代码中连接 http://localhost:5000
。
见https://docs.docker.com/compose/compose-file/compose-file-v3/#ports
如果您希望您的网络应用程序代理请求(例如使用 Create React App proxy
configuration),您将使用内部主机名,因为此操作是由 client
服务执行的。
"proxy": "http://server:5000"