【问题标题】:docker-compose up doesn't builddocker-compose up 无法构建
【发布时间】: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


    【解决方案1】:

    关键是在docker-compose up 中使用--build 选项。 我希望docker-compose up 每次都重新构建,但它只是在容器从之前构建和创建后启动。

    【讨论】:

    • 我想你可以将这个问题标记为已解决。 :)
    猜你喜欢
    • 2018-12-18
    • 2022-12-04
    • 2020-07-05
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多