如何使用私有git存储库中的应用程序代码构建docker映像?

时间:2018-10-30 13:51:18

标签: git docker security

我想构建运行PHP应用程序的Docker映像。源代码存储在私有GitHub存储库中。

我应该:

  1. 在容器中(在Dockerfile中)复制一些(我自己的或专用的或CI / CD的工具)SSH密钥,然后将其删除以从GitHub授权和克隆存储库,例如:Clone private git repo with dockerfile

  1. 使用我自己的(或我的CI / CD工具)环境将存储库克隆到./app目录,并且仅将COPY ./app /app克隆到Dockerfile中。

如果这有任何更改,那么我所有的GitHub存储库都是私有的,我将映像存储在私有的Docker Hub存储库中。

1 个答案:

答案 0 :(得分:2)

将SSH密钥加载到docker并从git提取源代码通常不是一个好主意。您应该使用选项2。使用CI / CD管道从回购中提取源代码,然后将其复制到docker映像中。

我们对所有生产管道都这样做。我们在github上创建部署密钥,然后使用Circle CI提取源代码并构建docker映像。