【发布时间】:2017-09-25 21:41:34
【问题描述】:
我正在创建一个 nodejs 应用程序,它将与 Git 存储库集成并执行推送、拉取提交等操作。我正在将应用程序移动到 Docker。 但是我找不到在运行时将 ssh 密钥放入 docker 映像的方法。出于安全原因,我想避免在构建时在 docker 映像中复制 ssh 密钥。
我尝试在运行时将 ssh 密钥作为环境变量传递,例如:
docker run -i -t -e KEY="sshkey" imagename
并在 node.js 中手动创建 ssh 文件夹和 ssh 密钥
mkdirSync('/root/.ssh/', (err) => {
writeFileSync('/root/.ssh/id_rsa.pub', sshKey, (err) => {
})
})
但这似乎不起作用,我在尝试克隆 repo 时仍然遇到权限错误。
- 我需要做些什么来加载 ssh 密钥以便 git 可以使用它们吗?
- 有没有办法使用 Dockerfile 来做到这一点。我知道我可以在构建时添加它,但还没有找到在运行时执行它的方法。
- 如何检查正在运行的 docker 容器的 fs?
【问题讨论】:
-
你不能只做一个卷/文件挂载吗?
标签: node.js git ssh docker dockerfile