У меня есть следующий docker-compose.yml
version: '3.7'
services:
auth_api:
build:
dockerfile: my-server/dev.Dockerfile
context: .
ports:
- '9000:3000'
volumes:
- ./my-server:/app/
И следующее my-server/dev.Dockerfile
FROM golang:1.13.3
WORKDIR /app
RUN ls
# Copy go mod and sum files
COPY ./go.mod ./go.sum ./
# Download all dependencies. Dependencies will be cached if the go.mod and go.sum files are not changed
RUN go mod download
# Copy the source from the current directory to the Working Directory inside the container
COPY . .
# Build the Go app
RUN go build -o main .
# Expose port 8080 to the outside world
EXPOSE 3000
# Command to run the executable
CMD ["./main"]
Теперь, когда я запускаю
docker build my-server/ --file=my-server/dev.Dockerfile
Контейнер Docker успешно создан.
Однако, когда я запускаю docker-compose build
, он выдает ошибку:
Building auth_api
Step 1/9 : FROM golang:1.13.3
---> dc7582e06f8e
Step 2/9 : WORKDIR /app
---> Using cache
---> c4005150884a
Step 3/9 : RUN ls
---> Using cache
---> 59051268c382
Step 4/9 : COPY ./go.mod ./go.sum ./
ERROR: Service 'auth_api' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder881802488/go.mod: no such file or directory
Есть идеи, как это исправить?
EDIT
TBH Я новичок в настройке docker-compose и т. Д., Поэтому не совсем уверен в том, как работают различные параметры конфигурации. Если есть какие-либо изменения, которые я мог бы внести в мой docker-compose.yml
, который установил бы рабочий каталог для COPY, это было бы лучше