为了账号安全,请及时绑定邮箱和手机立即绑定

无法从主机访问 docker 容器内的服务器

无法从主机访问 docker 容器内的服务器

Go
POPMUISE 2023-06-26 15:12:02
我在 docker 中托管一个mysql服务器和一个gohttp 服务器。我无法从我的主机访问 http 服务器。我的主机是mac。我尝试过使用localhost:8080和ipofserver:8080。我ip从 得到docker inspect. 我可以mysql从主机连接到服务器,但无法从主机访问服务器。这是我的docker ps输出。0.0.0.0:8080->8080/tcp0.0.0.0:3306->3306/tcp, 33060/tcp以下是我的详细信息:Docker 桌面版本 2.0.0.3。docker 撰写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服务器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贡献1869条经验 获得超4个赞

为了将 Web 服务器从容器内部公开给主机,它需要绑定到 0.0.0.0 而不是 127.0.0.1。使用 0.0.0.0 可确保 Web 服务器绑定到可以从主机端访问的桥接口。

查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信