我有一个GitHub project,(我正在使用(我没有创建它)),名为OpenRefine,我希望封装在Docker镜像中,例如然后其他人可以从“Docker Hub”中提取Docker镜像,并在其基本的交互式Docker实体上安装OpenRefine,即。图像。
我想将其上传到我可以与他人共享的存储库。
如果它有一个名字而不是一个疯狂的哈希值,那就太好了。
我只是使用git clone
命令创建一个“docker file”文本文件吗?
但是如何将其上传到诸如docker hub之类的存储库?我把那个文本文件放在那里?
像
这样的东西来自ubuntu
MAINTAINER:/ WTF?!
运行git clone blah
CMD在这里做什么?
这似乎是一个非常基本的问题,但Docker provided tutorials中的信息不易获取,Stackoverflow也没有明确的答案,但这些资源无疑是一个非常复杂的资源。制作终端输出“ Hello World ”。
答案 0 :(得分:10)
虽然Sergius'回答没有错,执行此操作的其他方法是通过Dockerfile https://docs.docker.com/reference/builder/。这样,您可以在github项目中包含Dockerfile,并构建该映像以放置在docker hub上。或者,您可以创建一个dockerfile,从github提取项目,运行任何必要的构建步骤,然后将其推送到docker hub。
无论哪种方式,您都需要使用
从dockerfile构建映像 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
答案 1 :(得分:2)
我不确定,但您可以尝试获取一些适合运行应用程序的基本docker镜像。在那里构建你的应用程序并使用&#34; docker commit&#34;获取新图像,其中包含应用程序的基本图像。
答案 2 :(得分:1)