Docker中搭建配置Git環(huán)境的過(guò)程
Docker中配置Git環(huán)境
工作中遇到了需要在Docker環(huán)境中操作GitLab倉(cāng)庫(kù)的場(chǎng)景,需要事先在Docker中搭好Git環(huán)境。
由于在Docker中對(duì)Git倉(cāng)庫(kù)操作是全自動(dòng)化的,因此需要免密拉取倉(cāng)庫(kù)和提交等操作,我這里是使用SSH來(lái)進(jìn)行免密操作。
所以首先是配置SSH,其次是配置Docker環(huán)境。
配置SSH Key
先生成SSH key:
ssh-agent
eval $(ssh-agent -s)
ssh-keygen -o -t rsa -b 4096 -C "{username}"
ssh-add ~/.ssh/id_rsa //添加到.bashrc中
進(jìn)入GitLab頁(yè)面并登錄,然后選擇Setting,



在左側(cè)導(dǎo)航欄選擇SSH Keys
將之前生成的公鑰id_rsa.pub文件內(nèi)容(該文件在~/.ssh/id_rsa.pub)拷貝到這個(gè)區(qū)域:

然后點(diǎn)擊Add key:

這樣這個(gè) SSH 公鑰 就和 GitLab 用戶綁定好了,以后用該用戶就可以進(jìn)行免密操作該Git倉(cāng)庫(kù)了。
配置Docker環(huán)境
首先將私鑰拷貝到Dockerfile的同級(jí)目錄(前提是項(xiàng)目中有Dockerfile),然后配置Docker文件。
# configuration ssh enviroment for gitlab
RUN mkdir -p /root/.ssh
COPY id_rsa /root/.ssh/
RUN echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config \
&& echo "UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config
RUN git config --global user.email "username@email.com" \
&& git config --global user.name "username"
在其中插入這么一段代碼即可,user.email和user.name使用之前配置GitLab SSH Key的賬號(hào)。
至此,Docker中就可以免密操作Git倉(cāng)庫(kù)了。
可能的錯(cuò)誤
如果還存在以下錯(cuò)誤:

則表示私鑰 id_rsa 權(quán)限問(wèn)題,通過(guò)在 Dockerfile 中加入
RUN chown 1000:1000 /root/.ssh/id_rsa
問(wèn)題便得以解決。
到此這篇關(guān)于Docker中搭建配置Git環(huán)境的過(guò)程的文章就介紹到這了,更多相關(guān)Docker配置Git環(huán)境內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信