docker搭建git服务器

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 [email protected]
 
 # 在客户端执行如下命令,生成ssh密钥
 ssh-keygen -t rsa -C "[email protected]"
 # 将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://[email protected]:65002/home/git/test.git 

如果是服务端和客户端都是在本地,上述ip可以在本地打印hostname -i ,可查看本地ip;
另外也可以telnet ip port,验证服务是否通;

参考资料
https://blog.csdn.net/qq_34631220/article/details/121852890

你可能感兴趣的:(docker,git,服务器)