为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的例子? 这一个似乎是最受欢迎的。