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

Docker:本地主机:8080 没有响应

Docker:本地主机:8080 没有响应

Go
慕运维8079593 2023-03-15 14:38:28
我正在运行一个码头工人:docker run -p 8080:8080 -t admin没有localhost:8080响应,但我运行了go run admin/main.goI can reachlocalhost:8080我知道关于这个问题有很多问题,我调查了一切:使用正确的端口:8080:8080在我的本地计算机上运行时,我能够访问服务器:检查服务器是否提供正确的端口。这是我的 Dockerfile - 公开正确的端口 8080:FROM --platform=linux/amd64 golang:1.19.3-bullseye# Install grpcRUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2 && \    go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28WORKDIR /appCOPY . .# Install protoc and zip system libraryRUN apt-get update && apt-get install -y zip && apt-get install -y tree && \    mkdir /opt/protoc && cd /opt/protoc && wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.0/protoc-3.7.0-linux-x86_64.zip && \    unzip protoc-3.7.0-linux-x86_64.zip# Copy the grpc proto file and generate the go module# RUN /opt/protoc/bin/protoc --proto_path=/app --go_out=/app --go_opt=paths=source_relative --go-grpc_out=/app --go-grpc_opt=paths=source_relative /app/proto/textbear.proto /app/proto/server.protoRUN /opt/protoc/bin/protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative proto/textbear.proto db/proto/db.proto server/proto/server.protoRUN go mod downloadEXPOSE 8080RUN go build -o /admin admin/main.goENTRYPOINT ["/admin"]我可能遗漏了一些明显的东西。
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

我的管理容器依赖于数据库容器网络。我的管理容器正在使用该localhost地址并导致管理容器卡住等待连接到数据库容器。我通过将地址从 更改为localhost来修复db,因为 docker compose 将为所有图像生成主机,管理员可以使用主机db名与数据库通信。


这是我的 Dockerfile:


version: '3'


services:

  admin:

    image: admin

    ports:

      - "8080:8080"

  db:

    image: db

    ports:

      - "50052:50052"

  server:

    image: server

    ports:

      - "50051:50051"


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

添加回答

举报

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