使用docker

时间:2016-11-17 09:54:59

标签: docker dockerfile

我正在尝试将我在这里找到的go包装暂停...

https://github.com/siddontang/go-mysql-elasticsearch

docker镜像比在所有服务器上安装go方便得多。但是以下dockerfile无效。

FROM golang:1.6-onbuild

RUN go get github.com/siddontang/go-mysql-elasticsearch
RUN cd $GOPATH/src/github.com/siddontang/go-mysql-elasticsearch
RUN make

RUN ./bin/go-mysql-elasticsearch -config=./etc/river.toml

如何使用简洁的dockerfile直接从github构建go包?

更新

https://hub.docker.com/r/eaglechen/go-mysql-elasticsearch/

我找到了可以执行此操作的确切dockerfile。但是该页面上提到的docker命令不起作用。它不会启动go包,也不会启动容器。

2 个答案:

答案 0 :(得分:2)

这取决于“不工作”的含义,但RUN ./bin / ...表示从当前工作目录(/go/src/app in golang/1.6/onbuild/Dockerfile)运行。

go build in Makefile会将二进制文件放入

$GOPATH/src/github.com/siddontang/go-mysql-elasticsearch/bin/...

所以你需要添加到你的Dockerfile:

WORKDIR $GOPATH/src/github.com/siddontang/go-mysql-elasticsearch

答案 1 :(得分:0)

我想这应该是我想要的。

https://github.com/EagleChen/docker_go_mysql_elasticsearch

我希望有一天我会学会使用那个小搜索框。