1、docker搭建git服務器
總體思路:服務端通過docker搭建git服務器,客戶端創建git的賬戶及公鑰密鑰;
1)服務端# 創建容器 # --privileged 獲得完整的root權限 # /usr/sbin/init 啟動容器執行的第一個命令 以便可以使用systemctl命令# 將容器的ssh服務22端口映射到宿主的65002端口docker run -itd --privileged=true --name mygitenv -p 65002:22 centos /usr/sbin/init注意需要加上--priviledged的設置,將你的CMD或者entrypoint設置為/usr/sbin/init即可,這樣可以會自動將dbus等服務啟動起來,就可以使用后面systemctl 命令。# 在容器里安裝軟件yum install openssh-server git passwd -y# 將ssh服務開啟 并設置開機啟動systemctl start sshdsystemctl enable sshd# 創建git用戶useradd gitpasswd git# 在git用戶家目錄下建立git倉庫目錄su gitmkdir -p /home/git/test.gitgit init --bare /home/git/test.git# 修改配置文件,允許提交到master分支vi /home/git/test.git/config# 添加如下代碼:[receive]denyCurrentBranch = ignore2)客戶端git config --global user.name "cyjmmy"git config --global user.email cyjmmy@foxmail.com# 在客戶端執行如下命令,生成ssh密鑰ssh-keygen -t rsa -C "cyjmmy@foxmail.com"# 將id_rsa.pub上傳到服務器,id_rsa私鑰自己保留服務器端保存公鑰;
cd /home/git/mkdir .sshchmod 700 .sshcat id_rsa.pub > authorized_keyschmod 600 authorized_keys# 訪問git倉庫git clone ssh://git@192.168.56.2:65002/home/git/test.git
如果是服務端和客戶端都是在本地,上述ip可以在本地打印hostname -i ,可查看本地ip;
另外也可以telnet ip port,驗證服務是否通;
參考資料
https://blog.csdn.net/qq_34631220/article/details/121852890