首页 > 解决方案 > 二进制文件不保存在 dockerfile

问题描述

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

main但是,从 docker-compose 运行时没有可执行文件。我实际上已经command: ls在 docker-compose 文件中添加了一个,但它不存在。然后我ls在 Dockerfile 图像中添加了一个并且main在那里。

如何防止main在翻译中迷路?

标签: docker

解决方案


推荐阅读