У меня есть Dockerfile, из которого я могу успешно создать образ:
FROM iron/go:dev
RUN mkdir /app
COPY src/main/main.go /app/.
# Set an env var that matches your github repo name, replace treeder/dockergo here with your repo name
ENV SRC_DIR=/app
# Add the source code:
ADD . $SRC_DIR
# Build it:
RUN go get goji.io
RUN go get gopkg.in/mgo.v2
RUN cd $SRC_DIR; go build -o main
ENTRYPOINT ["/app/main"]
Однако, когда я пытаюсь собрать следующий файл docker-compose.yml:
version: "3.3"
services:
api:
build: ./api
expose:
- '8080'
container_name: 'api'
ports:
- "8082:8080"
depends_on:
- db
networks:
- api-net
db:
build: ./db
expose:
- '27017'
container_name: 'mongo'
ports:
- "27017:27017"
networks:
- api-net
networks:
api-net:
driver: bridge
Я получаю:
Удаление api mongo является актуальным Воссоздание
532e3cf66460_carsupermarket_api_1 ... ошибка
ОШИБКА: для 532e3cf66460_carsupermarket_api_1 Не удается запустить службу
API: Ошибка создания среды выполнения OCI: container_linux.go: 348: запуск
контейнерный процесс вызвал "exec: \" / GO / src / main \ ": stat / GO / src / main:
нет такого файла или каталога ": unknown
ОШИБКА: для API Не удается запустить службу API: Ошибка создания среды выполнения OCI:
container_linux.go: 348: запуск процесса контейнера вызвал "exec:
\ "/ GO / src / main \": stat / GO / src / main: нет такого файла или каталога ":
неизвестная ОШИБКА: обнаружены ошибки при запуске проекта.
Я подозреваю, что docker-compose вносит некоторый нюанс, когда речь идет о путях компоновки каталогов, однако я не понимаю, почему мой образ создается из файла docker при использовании docker build .
, но не удается, когда я попробуйте включить это в docker-compose.
Может ли кто-нибудь указать мне правильное направление относительно того, что я делаю неправильно?