Двоичный файл не сохраняется в dockerfile

Новичок в Docker, и то, что кажется простой проблемой, не работает. Я хотел бы создать двоичный файл внутри файла докеров и выполнить его в docker-compose.

Dockerfile:

FROM golang:1.10

ENV DIR=/go/src/api

RUN go get github.com/Masterminds/glide

WORKDIR $DIR

ADD glide.yaml glide.yaml
ADD glide.lock glide.lock
RUN glide install

COPY . $DIR

RUN CGO_ENABLED=0 GOOS=linux go build -o main .

CMD main

А в моем docker-compose.yml у меня такое:

version: '2'
services:
  api:
    build:
      context: ./api
      dockerfile: Dockerfile
    ports:
      - 8000:8000

Однако при запуске из docker-compose исполняемый файл main отсутствует. Я действительно добавил command: ls в файл docker-compose, но его там нет. Затем я добавил ls в образ Dockerfile, и main уже есть.

Как предотвратить потерю main при переводе?

Это весь ваш docker-compose.yml? Проверка того, что вы не определили объем.

BMitch 21.05.2018 03:46

Что значит «потерянный в переводе»? Я никогда не видел, чтобы ты что-нибудь делал с главным? Куда вы его копируете / добавляете / монтируете?

user3483203 21.05.2018 04:29

Мне нужен том для этого? Бинарный файл создается как часть изображения. Он не может найти файл, потому что на docker-compose up он выдает ошибку, что main не найден.

user3162553 21.05.2018 09:07
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
3
20
0

Другие вопросы по теме