首頁 > 後端開發 > Golang > 如何使用帶有 SSH 身份驗證的私人 GitLab 模組來 Dockerize Go 應用程式?

如何使用帶有 SSH 身份驗證的私人 GitLab 模組來 Dockerize Go 應用程式?

Mary-Kate Olsen
發布: 2024-12-26 15:33:10
原創
606 人瀏覽過

How to Dockerize Go Apps Using Private GitLab Modules with SSH Authentication?

使用私有GitLab 模組Dockerize Go 應用

在使用私有GitLab 模組的Docker 容器中建置Go驗證有效。以下是解決所引用問題的改進方法:

更新的 Dockerfile

要從 GitLab 提取私有包,請修改 Dockerfile 中的以下行:

# Allow private repo pull
RUN git config --global url."https://my-personal-access-token:[email protected]/".insteadOf "https://gitlab.com/"
登入後複製

SSH設定

更新下列指令以新增SSH 金鑰並將Git 設定為使用SSH:

RUN mkdir ~/.ssh
RUN touch ~/.ssh/known_hosts
RUN ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts
登入後複製

建置指令

使用Docker 的實驗性語法並指定--mount=type=ssh 選項來啟用SSH mount:

DOCKER_BUILDKIT=1 docker build --progress=plain --mount=type=ssh .
登入後複製

調試SSH 連接

要調試SSH 連接問題,請調試在go 構建步驟之前運行以下指令:

RUN ssh -A -v -l git gitlab.com
登入後複製

AppArmor故障排除

如果遇到存取問題由於AppArmor 導致拒絕錯誤,請修改docker apparmor 設定檔/var/lib/snapd/apparmor/profiles/snap.docker.docker 並新增以下行:

/run/user/<uid>/keyring/ssh rw,
登入後複製

其中是將執行docker build 指令的使用者ID。

金鑰檔案名稱

確保用於驗證的SSH 金鑰具有預設名稱,例如id_rsa,或在Docker 的.ssh/config 檔案中設定Host條目以指定自訂密鑰名稱。

按照這些說明,您應該能夠建立在 Docker 容器內利用 GitLab 私有模組的 Go 應用程式。

以上是如何使用帶有 SSH 身份驗證的私人 GitLab 模組來 Dockerize Go 應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板