Docker找不到main.go
我试图在docker容器中运行我的简单golang API,以便它可以在所有机器上运行,当我使用docker工具箱导航到目录并运行Docker找不到main.go,docker,go,docker-compose,dockerfile,Docker,Go,Docker Compose,Dockerfile,我试图在docker容器中运行我的简单golang API,以便它可以在所有机器上运行,当我使用docker工具箱导航到目录并运行docker compose up时,我得到一个错误,错误是stat main.go:没有这样的文件或目录我认为这可能与docker file/docker compose上的路径有关?谁能帮我看看吗 Dockerfile FROM golang:latest RUN mkdir -p /go/src/app WORKDIR /go/src/app ADD . /
docker compose up
时,我得到一个错误,错误是stat main.go:没有这样的文件或目录
我认为这可能与docker file/docker compose上的路径有关?谁能帮我看看吗
Dockerfile
FROM golang:latest
RUN mkdir -p /go/src/app
WORKDIR /go/src/app
ADD . /go/src/app
RUN go get -v
docker-compose.yml
version: '3'
services:
db:
image: postgres
environment:
POSTGRES_DB: Shoes
POSTGRES_USER: postgres
POSTGRES_PASSWORD: root
ports:
- 5432:5432
app:
build: .
command: ["go", "run", "main.go"]
volumes:
- .:/go/src/app
ports:
- "8080:8080"
depends_on:
- db
links:
- db
编辑:重新排列一些文件并使我的GOPATH正常工作后出现新错误。我在docker中连接到数据库时遇到问题,当我无法连接时会收到错误消息。使用
ENV GOPATH
检查docker运行--rm golanng:Last printenv
将GOPATH
添加到docker文件,并检查输出是否正确GOPATH@RajeshRajendran它说我的is GOPATH=/go我是否将ENV GOPATH放置在我的dockerfile的顶端?对不起,我对docker来说是全新的,大概一个小时了haha@dmitryro它说我的是GOPATH=/go,不是应该是/go/src吗?这取决于go的安装位置,例如,如果你的哪个go
会告诉你/usr/local/go/bin/go
,那么GOPATH
应该是/usr/local/go
。