docker - 二进制文件不保存在 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
在翻译中迷路?
解决方案
推荐阅读
- java - 谷歌地图不显示位置按钮
- ms-access - 根据另一个表和条件删除记录
- javascript - 状态改变而不调用 setState
- angular - chrome mobile 上的 pwa 只返回缓存版本的数据 http 响应
- arrays - MongoDB对子数组字段的请求,只返回匹配的子项
- python - 使用python反转句子中的每个单词
- mvvm - 如何从 ViewModel 调用 TapGestureRecognizer
- python - 使用可能是列表的键值解压缩字典
- android - ImageView maxHeight 不一致
- javascript - 如何迭代对象数组并更改redux中的属性?