環境:
Docker Mac 桌面:4.2.0
MacOS:11.6.1
預期行為:
我構建了一個 java 服務器映像并用于docker-compose -f docker/docker-compose.yml up運行 java 服務器,并嘗試從我的筆記本電腦的 localhost:9090 訪問它。我期待curl -i -X GET http://localhost:9090/heanthz將回傳 200。
實際行為:
curl -i -X GET http://localhost:9090/heanthz 將回傳 curl: (52) 來自服務器的空回復。
docker-compose.yml 看起來像這樣:
version: '3'
services:
database:
image: "postgres" # use latest official postgres version
ports:
- "5432:5432"
env_file:
- dev-postgres.env # configure postgres
volumes:
- ./dev-postgres-data:/var/lib/postgresql/data/ # persist data even if container shuts down
redis:
image: "redis:alpine"
clickhouse:
image: "clickhouse/clickhouse-server"
ports:
- "8123:8123"
server:
image: "test-server"
depends_on:
- database
- redis
- clickhouse
ports:
- "9090:9090"
entrypoint: /bin/sh
command: -c "java -cp test-server.jar app.core"
env_file:
- dev-server.env
我發現的一些行為:
如果我進入 docker 實體 (
docker exec -it docker-server-1 sh),并訪問 http://localhost:9090/heanthz,它將回傳 200在我的筆記本電腦上
$lsof -i:9090
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
com.docke 44140 joe 238u IPv6 0x48c9c413c17d3d1b 0t0 TCP *:websm (LISTEN)
uj5u.com熱心網友回復:
我認為在您的服務器中,您必須使用0.0.0.0而不是使用 ip 作為 localhost 或 127.0.0.1
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/388088.html
