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