为Github项目创build一个Docker镜像

我有一个GitHub项目 (我正在使用(我没有创build它)),称为OpenRefine,我想将它封装在一个Docker镜像中,这样其他人就可以从Docker镜像中提取Docker镜像Hub“,并在其基本的交互式Docker实体上安装OpenRefine。 图片。

然后我想把它上传到一个我可以与其他人分享的存储库。

如果它有一个名字,而不是一个疯狂的哈希值,那就太好了。


难道我只是用git clone命令创build一个“docker文件”文本文件?

但是如何将其上传到存储库(如Docker集线器)? 我只是把那个文本文件放在那里?

就像是

从Ubuntu的

维护者:/ WTF?

运行git克隆等等

CMD在这里?

在这里输入图像说明


这似乎是一个非常基本的问题,但信息不容易在Docker提供的教程中访问,在Stackoverflow上也没有确定的答案,但是这些都是非常复杂的terminal输出“ Hello World ”的优秀资源。

虽然Sergius的回答没有错,但是通过Dockerfile https://docs.docker.com/reference/builder/可以实现其他的方法。 这样,你可以在你的github项目中包含一个Dockerfile,并在docker hub上build立这个镜像。 或者你可以创build一个dockerfile,从github中获取你的项目,运行任何必要的构build步骤,然后将其推送到docker中心。

无论哪种方式,您都需要使用dockerfile构build图像

docker build -t <name of image> <OPTIONS> <build context>

然后你会使用docker push来推送图像。

对于您的项目之外的Dockerfile:

 FROM ubuntu:14.04 RUN apt-get install git && \ git clone <your git repo> && \ <additional bash commands for building your project> CMD <command to run your project> # Can also use ENTRYPOINT in certain cases 

我不确定,但是您可以尝试获取一些基本的Docker镜像,这适合运行您的应用程序。 在那里构build你的应用程序并使用“docker commit”来获取新的图像,这个图像将包含你的应用程序的基本图像。

Docker Hub上托pipe的OpenRefine已经有很多 Docker镜像。

你为什么不把他们的Dockerfile的例子? 这一个似乎是最受欢迎的。