尝试在 Docker 中运行 Go Echo 应用时出现模块路径问题

我遇到了一个奇怪的问题来运行Go Echo框架。当我使用该命令时,它工作正常,这不是依赖问题,它正确执行文件,但在运行时它给出错误:docker rundocker-compose up


Creating echo_app ... done

Attaching to echo_app

echo_app | server.go:6:2: cannot find package "github.com/labstack/echo/v4" in any of:

echo_app |  /usr/local/go/src/github.com/labstack/echo/v4 (from $GOROOT)

echo_app |  /go/src/github.com/labstack/echo/v4 (from $GOPATH)

echo_app exited with code 1

以下是我的文件:


Dockerfile


FROM golang:1.15-alpine

LABEL maintainer="Me"


RUN apk update

RUN apk add git


# Setting up Dev environment

RUN mkdir /echo_app

COPY . /echo_app/

WORKDIR /echo_app/


# Download Echo Framework with help of Go mod (Credit: https://github.com/labstack/echo/issues/1374#issuecomment-559990790)

# Init to create Go Module

RUN go mod init app.com/main

# Building to download echo framework and other dependencies

RUN go build


# RUN the server

#CMD go run server.go 

EXPOSE 1323

docker-compose.yml


version: "3"

services: 

  web:

    container_name: echo_app

    image: echo_app:latest

    build: ./

    command: go run server.go

    volumes:

      - .:/echo_app

    ports: 

      - "1323:1323"


慕哥6287543
浏览 94回答 1
1回答

富国沪深

FROM golang:1.15-alpineLABEL maintainer="Me"# Setting up Dev environmentWORKDIR /echo_app/# note this file, go.mod exists locally. and contain reference # to direct/indirect dependencies. this step allows to download # dependencies and speedup build for docker images (if it used # to build artifacts, and not as dev env).  COPY go.mod  /echo_app/go.modRUN go mod downloadEXPOSE 1323
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go