使用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服务.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM