为Go可执行文件构建和运行docker镜像

时间:2016-12-08 04:09:37

标签: go docker containers

我试图将我的Go应用程序容器化。我正在使用Docker来做到这一点。我有一个在我的系统中运行的完全可执行的Docker应用程序。要在容器中运行它,我已经创建了一个Dockerfile。

FROM golang:1.7
EXPOSE "portno"

我保留了dockerfile非常简单,因为我已经在我的系统中运行了一个可执行文件。请帮助我添加所有内容以使go app运行。我无法运行go app,因为很多内容都没有被复制到容器中。

1 个答案:

答案 0 :(得分:3)

您需要使用ADD命令将可执行文件添加到容器中:

ADD ./app /go/bin/app 

然后你需要告诉docker它应该作为主容器进程执行:

CMD ["/go/bin/app"]

请注意,从容器内的源代码构建应用程序可能更好。可以在构建docker镜像时完成。 例如,有关详细信息,请参阅此文章:http://thenewstack.io/dockerize-go-applications/