Я пытаюсь собрать и запустить приложение golang с помощью docker-compose.Вот мои настройки:
./docker/Dockerfile
./main.go
Makefile
Makefile
compose:
env GOOS=linux GOARCH=amd64 GOARM=7 go build
cd docker && docker-compose up
. / Docker / Dockerfile
FROM golang:1.11
COPY app .
CMD ["./app"]
. / Docker / docker-compose.yml
version: '3'
services:
app:
build:
context: ../
dockerfile: ./docker/Dockerfile
env_file: ./app.env
ports:
- '9292:8000'
Я запускаю следующую команду, ожидая построить новый двоичный файл и запустить его в контейнере Docker.
$make compose
Он работает отлично, но если я выполню ту же команду после обновления main.go
новый двоичный файл не копируется в Docker-контейнер.Контейнер Docker, похоже, использует предыдущий двоичный файл (т. Е. Первый двоичный файл, который был скопирован, когда контейнер был впервые создан).
Может кто-нибудь объяснить, почему это происходит и что я должен сделать, чтобы это исправить?