使用docker运行GitLab
从docker镜像拉取代码,docker pull gitlab/gitlab-ce:latest.
创建/srv/gitlab目录sudo mkdir /srv/gitlab
启动GitLab CE容器,并发布访问SSH,HTTP,HTTPS的端口.
所有GitLab数据将存储在/srv/gitlab目录.
如果只在本机测试,把hostname改为本机IP地址,(如果是在虚拟机中启动,主机测试,把IP地址设置为虚拟机ip地址).如果让外部系统访问则改为外网IP.
docker run --detach --hostname gitlab.example.com --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
如果开启了selinux,运行下面的代码:
docker run --detach --hostname gitlab.example.com --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab:Z --volume /srv/gitlab/logs:/var/log/gitlab:Z --volume /srv/gitlab/data:/var/opt/gitlab:Z gitlab/gitlab-ce:latest
--restart always: 系统重启后,容器启动
确保docker有足够的权限在挂在的卷中创建文件.
边间GitLab配置文件,可以打开一个shellsudo docker exec -it gitlab /bin/bash,或者直接编辑文件sudo docker exec -it gitlab vi /etc/gitlab/gitlab.rb
在浏览器中输入gitlab所在服务器的IP地址,初次使用需要修改密码.
生成keyssh-keygen -t rsa -C "email",将key添加到gitlab上。
配置.ssh目录和文件的权限
chmod 755 ~/.ssh/ chmod 600 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub chmod 644 ~/.ssh/known_hosts
权限过高会出错。
免密码登录
//将文件拷贝至远程服务器
scp ~/.ssh/id_rsa.pub root@<remote_ip>:pub_key
//将内容追加到authorized_keys文件中, 不过要登录远程服务器来执行这条命令
cat ~/pub_key >>~/.ssh/authorized_keys
编辑/etc/ssh/sshd_config文件,将PubkeyAuthentication yes行和AuthorizedKeysFile .ssh/authorized_keys的注释删掉.重启sshd服务.

浙公网安备 33010602011771号