赞
踩
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 sshd systemctl enable sshd # 创建git用户 useradd git passwd git # 在git用户家目录下建立git仓库目录 su git mkdir -p /home/git/test.git git init --bare /home/git/test.git # 修改配置文件,允许提交到master分支 vi /home/git/test.git/config # 添加如下代码: [receive] denyCurrentBranch = ignore 2)客户端 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 .ssh chmod 700 .ssh cat id_rsa.pub > authorized_keys chmod 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。