使用 docker 下载代码提示 key 报错问题请教

2022-07-23 10:39:03 +08:00
 yhm2046

16.04 系统安装 docker 20.10.7 , 导入镜像 Image1:sudo docker load –input ~/Download/sd_build_docker.tar.gz 新建容器 xxx 挂载在共享目录 docker:sudo docker run -i -t -d -v /home/docker:/host –name sd_build sb_build_3 /bin/bash 启动 bash:sudo docker exec -it xxx /bin/bash 新建文件夹 file1 加入 key , 下载代码 Code1 ,编译成功

在共享目录 docker 下新建文件夹 file2 下载代码 Code2: git clone ssh://123@xyz.com:29418/buildsystem.git -b yyy 提示 key 报错: Cloning into 'buildsystem'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

我不用 docker 直接在 ubuntu 系统上下载代码是正常的没有报 key 的错误,请问这个是什么原因? 如何解决?

1721 次点击
所在节点    Ubuntu
5 条回复
rekulas
2022-07-23 10:46:37 +08:00
容器里是隔离环境,你进入容器里 clone 那自然要配置认证才行的,要么容器里创建个新 key 加上去要么把主机的 key 复制进来,注意文件权限
wtfedc
2022-07-23 11:54:43 +08:00
正常流程,代码拉取该在 build 阶段就完成的
yhm2046
2022-07-23 18:33:30 +08:00
搞定了:
rm -rf ~/.ssh/known_hosts
cp id_rsa* ~/.ssh/
cp known_hosts ~/.ssh/
MengiNo
2022-07-24 10:50:59 +08:00
@yhm2046 这样操作 docker 官方是不推荐的,相当于泄露了宿主机的私钥。一般是用 -e SSH_AUTH_SOCK 的方式利用 ssh-agent 来传递。当然如果是个人开发用机 + 本地 docker daemon 倒也不用那么讲究。
yhm2046
2022-07-24 16:56:33 +08:00
@MengiNo 好的,谢谢指点,有空再研究一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/868155

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX