首页 > 后端开发 > Golang > 如何使用'go get”从 Debian Wheezy Docker 容器中的私有 GitHub 存储库获取?

如何使用'go get”从 Debian Wheezy Docker 容器中的私有 GitHub 存储库获取?

DDD
发布: 2024-11-08 17:28:02
原创
658 人浏览过

How to Use

Docker:使用“go get”从私有 GitHub 存储库获取

当尝试从私有 GitHub 运行托管 golang 服务的容器时存储库,如果您使用 google/debian:wheezy 图像作为起点,您可能会遇到困难。当“go get”尝试克隆存储库时,会出现此错误。

该问题源于由于 SSH 密钥验证问题而导致克隆私有存储库的困难。值得注意的是,尽管您已将 GitHub SSH 密钥添加到 Dockerfile 以允许克隆,但验证公钥时似乎存在问题。

要解决此问题,请考虑以下解决方案:

  1. 安装 SSH 并配置 Git 使用SSH:
RUN apt-get update && apt-get install -y ca-certificates git-core ssh
登录后复制
  1. 将私钥添加到容器中:
ADD keys/my_key_rsa /root/.ssh/id_rsa
登录后复制
  1. 设置私有权限键:
RUN chmod 700 /root/.ssh/id_rsa
登录后复制
  1. 配置 Git 以强制 GitHub 进行 SSH:
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
登录后复制
  1. 设置 Git SSH URL首选项:
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/
登录后复制
  1. 将私有存储库添加到 Docker 映像:
ADD . /go/src/github.com/myaccount/myprivaterepo
登录后复制
  1. 执行“go get”并安装包:
RUN go get github.com/myaccount/myprivaterepo
RUN go install github.com/myaccount/myprivaterepo
登录后复制

此解决方案涉及安装 SSH 并将私钥构建到容器中。虽然并不理想,但它为在基于 Debian Wheezy 的 Docker 环境中使用“go get”获取私有存储库的问题提供了一种解决方法。

以上是如何使用'go get”从 Debian Wheezy Docker 容器中的私有 GitHub 存储库获取?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板