【发布时间】:2019-04-03 07:16:59
【问题描述】:
我在我的组织 gitlab 组中镜像一个流行的 go 库(为了冗余)。
在我的代码中,我有:import ( "gitlab.com/org/group/library.git" )
我使用this answer 获取有关使用 go get 和私有存储库的指导。在我的机器上go get ./... 可以工作,因为我使用以下命令配置了 git:
$ git config --global url.git@gitlab.com:.insteadOf https://gitlab.com/
当我尝试构建 docker 容器时,命令 RUN go get ./... 失败并显示以下输出:
package gitlab.com/org/group/library.git: cannot download, git://gitlab.com/org/group/library uses insecure protocol
似乎来自similar thread 或this article 的流行答案是将您的ssh 密钥上传到docker 容器。我对此不太满意,因为我不完全了解正在做什么或安全隐患。
任何有关如何正确配置我的 dockerfile 或我的 golang 工作流程的见解都会有很大帮助。
【问题讨论】:
-
今天阅读an article,了解 docker 的新改进,允许在 docker 构建期间共享秘密。这有帮助吗?
-
我将这种方法用于我需要注入容器的环境变量,这实际上不适用于在我的腺体项目中使用私有存储库作为 pkg。