Как вы создаете образы для разработки и производства (рой):
Я пытаюсь иметь один 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.yml
и docker-compose.pro.yml
Например, для docker-compose.dev.yml:
version: '2'
services:
godev:
environment:
- APP_ENV="dev"
image: godev
Так что, во-первых, именование не работает.
Бонусный вопрос: как создать образ для производства — просто скомпилировать в один контейнер (запустить докер), а затем скопировать двоичный файл в новый контейнер?
ENV
во время сборки, вам нужно использоватьARG
и--build-arg
- person TJ Biddle   schedule 04.12.2017