如何为 git 将凭据烘焙到 docker 图像中?

How to bake credential into docker image for git?

这实际上是我之前的一个问题。

我正在尝试使用 docker 托管个人笔记网络服务,并希望备份该服务生成的数据(我的笔记)。 目前,我计划使用 git 提交、拉取和推送到存储库以达到我的目的。

要执行 git 拉和推,我的 docker 图像需要托管我的凭据。实现此目标最简单但最安全的方法是什么?

到目前为止我做了什么:

但是,到目前为止,我无法使 git-credential-libsecret 正常运行。以下是我遇到的几个问题:

总之,我想知道:

  1. 我的方向是否正确(使用 git 凭证助手)来实现我的目标?
  2. 如果是这样,我该如何解决 X11 问题?
  3. 是否有任何其他快速和干净的方法来备份 docker 中的数据与版本控制?

这取决于您所在的位置 运行 git-credential-libsecret:您需要将其安装在您的 image/container 中,而不是主机上。

请注意,另一种选择是使用卷(请参阅 ),在这种情况下,git 只能安装在主机上。

但是在这里,您将直接在您的图像中使用 git,这意味着,as in this Dockerfile,您需要在您的 Dockerfile 中包含:

RUN apt-get update -y &&
apt-get install --no-install-recommends -y libsecret-1-0 git

https://github.com/electron-userland/electron-builder/blob/master/docker/base/Dockerfile

如果您的 git 提供商支持使用 public 密钥的 ssh,我认为最简单的方法是切换到它们。您也不必复制密码。

您需要: