gpt4 book ai didi

docker - 为开发和生产环境构建容器

转载 作者:行者123 更新时间:2023-12-02 20:48:20 25 4
gpt4 key购买 nike

如何为开发和生产(大量)构建镜像:

我试图为两者都使用一个Dockerfile以将“Dockerfile实现放在一个地方”,例如继承:

FROM golang AS gobase
ENV APP_ENV "pro"
COPY ./app /go/src/github.com/user/myProject/app
WORKDIR /go/src/github.com/user/myProject/app

RUN go get ./
RUN go build
EXPOSE 8080

FROM gobase AS godev

ENV APP_ENV "dev"

RUN go get github.com/pilu/fresh
RUN go-wrapper download
RUN go-wrapper install

CMD [ "fresh" ]

然后使用 docker-compose.dev.ymldocker-compose.pro.yml
像docker-compose.dev.yml一样:
version: '2'

services:
godev:
environment:
- APP_ENV="dev"
image: godev

因此,首先,命名不起作用。

额外的问题:如何构建用于生产的镜像-您是否仅在一个容器中进行编译( docker 运行),然后将二进制文件复制到新容器中?

最佳答案

不要将dev用作名称,而应将其用作标签:

go:dev
go:prod

和您的compose.yml:
services:
go:
image: go:dev

奖励:在“Edit 29/06/17”下查看 this answer,并将此构建步骤同时用于(dev和prod)

关于docker - 为开发和生产环境构建容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47633604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com