【发布时间】:2019-07-17 17:30:54
【问题描述】:
我正在尝试使用 docker-compose 构建和运行一个 golang 应用程序。 这是我的设置:
./docker/Dockerfile
./main.go
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 容器似乎使用了以前的二进制文件(即第一次构造容器时复制的第一个二进制文件)。
有人可以解释为什么会发生这种情况,我应该怎么做才能解决它?
【问题讨论】:
标签: docker go docker-compose