我在 docker 中托管一個(gè)mysql服務(wù)器和一個(gè)gohttp 服務(wù)器。我無(wú)法從我的主機(jī)訪問(wèn) http 服務(wù)器。我的主機(jī)是mac。我嘗試過(guò)使用localhost:8080和ipofserver:8080。我ip從 得到docker inspect. 我可以mysql從主機(jī)連接到服務(wù)器,但無(wú)法從主機(jī)訪問(wèn)服務(wù)器。這是我的docker ps輸出。0.0.0.0:8080->8080/tcp0.0.0.0:3306->3306/tcp, 33060/tcp以下是我的詳細(xì)信息:Docker 桌面版本 2.0.0.3。docker 撰寫(xiě)version: '3.1'services: mysql: image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: mydb volumes: - mysql:/var/lib/mysql ports: - "3306:3306" networks: - mynetwork server: image: server:latest networks: - mynetwork ports: - "8080:8080"volumes: mysql: ~networks: mynetwork: driver: "bridge"mysql dockerfileFROM mysql:8.0.16COPY ./scripts/mysql/dbgen-v1.sql /docker-entrypoint-initdb.d/EXPOSE 3306服務(wù)器dockerfileFROM golang:1.12.5WORKDIR a/go/pathCOPY . .ENV GOBIN=/usr/local/binRUN go get github.com/go-sql-driver/mysqlRUN go get github.com/iancoleman/strcaseRUN go get github.com/jmoiron/sqlxRUN go get github.com/spf13/cobraRUN go get github.com/gorilla/websocketRUN go get github.com/spf13/viperRUN go install -v cmd/project/main.goEXPOSE 8080CMD ["main"]
1 回答

MMTTMM
TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
為了將 Web 服務(wù)器從容器內(nèi)部公開(kāi)給主機(jī),它需要綁定到 0.0.0.0 而不是 127.0.0.1。使用 0.0.0.0 可確保 Web 服務(wù)器綁定到可以從主機(jī)端訪問(wèn)的橋接口。
- 1 回答
- 0 關(guān)注
- 182 瀏覽
添加回答
舉報(bào)
0/150
提交
取消