我曾经在github上单一的Git仓库:
这种发展过程中效果很好。但它迫使用户在他们的计算机上生成图像。我希望用户能够仅下载图像。该设置也应该使用dockerhub的自动生成,以保持图像是最新的。
我怎样才能将其设置为实现这一目标?什么命令(S)或文件(S)我给用户,允许他们下载图片,并运行容器?如果它是不可能的,我能做些什么,使之可能(分裂回购?copypaste的dockerfile?发布中间图像dockerhub并确保正确的建造顺序?不要使用dockerhub的自动构建?)
要使用dockerhub's automated builds你需要每Dockerfile建立一个形象,有一个Dockerfile per repo。图像名称来自源库名称(与GitHub的组织/用户名作为搬运工图像用户名和GitHub库名称作为搬运工图像名称)。多级构建工作自动化生成,但只有一个图像每Dockerfile(生成最终图像)出版。
你可以建立图像在你的CI,甚至在本地计算机上,然后推到dockerhub。你只需要对dockerhub一个帐户,当您使用docker push
command将在该帐户登录。做这件事时推有没有要任何映射到GitHub的回购协议,但你的形象命名应该以<dockerhub_user>/
作为一种前缀开始(在https://docs.docker.com/docker-hub/repos/解释)。它的确定,如果他们在,你可以通过前推重新标记重命名一个不同的名称建立。这样,你也可以建立你喜欢的图片。
当你在dockerhub图片您可以使用表单image: <dockerhub_user>/<dockerhub_image_name>:<tag>
只是指他们在泊坞窗,撰写文件。当用户确实docker-compose up
图像将自动被拉动。
下面是一些提示和链接,应有助于您的具体情况:
这部分是很容易的。您需要与泊坞枢纽和Github的账户。您可以免费注册这些帐户。
当您在码头工人集线器建立一个信息库,你可以将其链接到您的Github上库自动生成。
建议:
因为我还没有找到最好的文档这部分是有点棘手。它还如果你分割你的Dockerfile可能没有必要。
我已经成功地创建自动化的使用在hooks/build
钩多个标签和目标,但阅读它看起来像你也应该能够使用hooks/post_build
文档后建立。
你的钩子可以简单地构建正确的层和推标签泊坞枢纽
为了您的仓库应该是这样的:
#!/usr/bin/env bash
docker build --target lutece-mysql -t lutece/mysql .
docker push lutece/mysql
如果你最终使用hooks/build
你可能需要建立最终目标的最后一步。
建议:
hooks/post_push
添加额外的标记。这样,每个标签应该链接的用户相同的图像。例如
#!/usr/bin/env bash
docker tag lutece/tomcat:master lutece/tomcat:latest
docker push lutece/tomcat:latest
不幸的是我没有做这部分,所以我不能确定如何得到这个工作。
随着泊坞枢纽的仓库和码头工人的工作,compose.yml你的客户可能只需要在你的搬运工,compose.yml文件的目录运行docker-compose up
。泊坞窗撰写应拉从泊坞枢纽的图像。