This is actually a question following from my previous one.
I am trying to use docker to host a personal note-taking web service and want to backup data generated by the service (my notes).
Currently I plan to use git to commit, pull, and push to a repository for my purpose.
To do git pull and push, my docker image needs to host my credentials. What is the easiest yet safe way to achieve this?
What I have done so far:
- I choose
Alpine
as the base image of the image of my service.
- Because I only need credentials for git, I think put a git credential helper into the image may solve my problem. I can save credentials to the helper during the build time and use them during runtime.
- I googled a while and decided to use
libsecret
as my git credential helper, according to this article.
- I have installed
libsecret
and set my git credential helper to be git-credential-libsecret
However, I cannot make git-credential-libsecret
functional so far. Here are a couple of problems that I encountered:
Firstly, I tested git-credential-libsecret get
and get the following error:
CRITICAL **: could not connect to Secret Service: Cannot spawn a message bus without a machine-id: Unable to load /var/lib/dbus/machine-id or /etc/machine-id: Failed to open file */var/lib/dbus/machine-id*: No such file or directory
- I (probably?) solved it by installing
dbus
and run dbus-uuidgen > /var/lib/dbus/machine-id
Then I try to run git-credential-libsecret get
again. This time, it reports that:
CRITICAL **: could not connect to Secret Service: Cannot autolaunch D-Bus without X11 $DISPLAY
- I tried to install
dbus-x11
and run dbus-launch --sh-syntax
(from here) but with no luck this time. The error continues.
In conclusion, I would like to know:
- Am I on a right direction (using git credential helper) to achieve my goal?
- If so, how can I resolve the X11 problem?
- Are there any other quick and clean methods to backup data in docker with version control?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…