错误层=rpc写入响应:写入tcp 127.0.0.1:40000->127.0.0.1:41558:使用关闭的网络连接

kun*_*kar 6 ubuntu go docker docker-compose

之后docker-compose up -d --build,服务器服务处于运行状态,但出现上述错误。我尝试在容器内构建并运行代码,它按预期运行。但是如果我开始使用 docker-compose up,就会出现上述错误。

Dockerfile阶段

FROM dev as debug

# install debugging tools
RUN go get github.com/go-delve/delve/cmd/dlv
RUN go get github.com/cespare/reflex

# install any project dependencies
RUN go get -d -v ./...

CMD reflex -R "__debug_bin" -s -- sh -c "dlv debug --headless --continue --accept-multiclient --listen :40000 --api-version=2 --log ./src/"
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: "3.8"

services:
  server:
    image: sample-service:debug
    build:
      context: .
      dockerfile: src/Dockerfile
      target: debug
      args:
        NETRC_LOCAL: ${NETRC_LOCAL}
    security_opt:
      - seccomp:unconfined
    ports:
      - 8080:8080
      - 40000:40000
    env_file: .env
    volumes:
      - .:/test
    depends_on:
      - cassandra
      - kafka
Run Code Online (Sandbox Code Playgroud)

小智 2

首先,当您尝试意外关闭 dlv 调试器时,它会抛出此错误,而且这不是与网络相关的问题。这是反射命令的问题。您可能忘记从工作区添加任何像日志一样不断变化的文件。请确保将其与标志一起添加-R