[英]How to bake credential into docker image for git?
這實際上是我之前的一個問題 。
我正在嘗試使用docker來托管個人記筆記Web服務,並希望備份服務生成的數據(我的筆記)。 目前我計划使用git來提交,拉取和推送到我的目的的存儲庫。
要執行git pull and push,我的docker鏡像需要托管我的憑據。 實現這一目標的最簡單但最安全的方法是什么?
到目前為止我做了什么:
Alpine
作為我服務形象的基本形象。 libsecret
搜索了一段時間並決定使用libsecret
作為我的git憑證助手。 libsecret
並將我的git憑證助手設置為git-credential-libsecret
但是,到目前為止,我無法使git-credential-libsecret
功能化。 以下是我遇到的一些問題:
首先,我測試了git-credential-libsecret get
並得到以下錯誤:
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
dbus
解決它並運行dbus-uuidgen > /var/lib/dbus/machine-id
然后我嘗試再次運行git-credential-libsecret get
。 這一次,它報告說:
CRITICAL **: could not connect to Secret Service: Cannot autolaunch D-Bus without X11 $DISPLAY
dbus-x11
並運行dbus-launch --sh-syntax
( 從這里開始 ),但這次沒有運氣。 錯誤仍在繼續。 最后,我想知道:
這取決於您運行git-credential-libsecret的位置:您需要將其安裝在映像/容器中,而不是安裝在主機上。
請注意,另一個選項是使用卷(請參閱我之前的問題的答案 ),在這種情況下, git
只能安裝在主機上。
但是在這里,你可以直接在你的圖像中使用git,這意味着, 就像在這個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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.