二进制文件不存在于dockerfile中

时间:2018-05-20 23:08:14

标签: docker

Docker的新手以及看似简单的问题并不起作用。我想在dockerfile中构建一个二进制文件,并在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可执行文件。我实际上已经在docker-compose文件中添加了command: ls,但它并不存在。然后,我在Dockerfile映像中添加了ls,并且main就在那里。

如何防止main在翻译中丢失?

0 个答案:

没有答案