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

posted @ 2019-06-22 11:20  zzhaoleiの博客  阅读(3964)  评论(0编辑  收藏  举报