- step1:因为centos默认用yum进行包管理,先更新centos7上的yum:
yum update
- step2:安装yum-util:
sudo yum install -y yum-utils
,这个包是用于管理yum安装软件的 - step3:设置安装docker的镜像源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
,该地址为官方镜像源 - step4:安装docker:
sudo yum install docker-ce docker-ce-cli containerd.io
- 命令:
sudo systemctl start docker
- 拉取镜像:
docker pull gitlab/gitlab-ce:latest
- 创建gitlab的挂载目录:
mkdir docker-v
cd docker-v
mkdir gitlab
- docker启动gitlab:
docker run -d --publish 3650:80 --publish 3651:443 --publish 3652:22 --name gitlab-docker --volume /root/docker-v/gitlab/config:/etc/gitlab --volume /root/docker-v/gitlab/logs:/var/log/gitlab --volume /root/docker-v/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
说明:gitlab使用分另将3650,3651,3652三个端口映射gitlab内部的默认端口80,443,22三个端口
gitlab的挂载根目录为/root/docker-v/gitlab
- centos7开放端口:
开启防火墙:
systemctl start firewalld.service
开放端口:firewall-cmd --zone=public --add-port=端口号/tcp --permanent
重启防火墙:systemctl restart firewalld.service
查看开放的端口号:firewall-cmd --list-ports
- 测试使用浏览器打开gitlab:
http://您的远程服务器ip:3650/
- 进入gitlab内部:
docker exec -it gitlab-docker /bin/bash
- 查看root账户的密码:
cat /etc/gitlab/initial_root_password
- 使用root账户进行登陆:用户名:
root
,密码:s+U2KhG7/r7ZgBcyyGtVZbpCo5uQA83IKalpxTomyRY=
- 拉取镜像:
docker pull garethflowers/svn-server
- 创建gitlab的挂载目录:
cd docker-v
mkdir svn
- docker启动svn:
docker run --privileged=true --name svn-docker -d -v /root/docker-v/svn:/var/opt/svn -p 3653:3690 garethflowers/svn-server
- centos7开放端口:
开启防火墙:
systemctl start firewalld.service
开放端口:firewall-cmd --zone=public --add-port=3653/tcp --permanent
重启防火墙:systemctl restart firewalld.service
查看开放的端口号:firewall-cmd --list-ports
- 进入容器内部:
docker exec -it svn-docker /bin/sh
- 创建一个叫art的仓库:
svnadmin create art
此时,创建的art仓库会同步到
docker-v/svn
目录中,因为挂载目录进行了映射
- 进入svn的挂载目录:
cd /root/docker-v/svn
- 查看仓库目录:
ls
,发现目录下有个art目录,进入art目录里的conf目录:cd art/conf
- 使用vi打开svnserver.conf文件,删除全部内容后,保存以下内容:
[general] anon-access = read auth-access = write password-db = passwd authz-db = authz [sasl]
- 使用vi打开passwd文件,删除全部内容后,保存以下内容:
[users] usr_a = aaa ##创建一个账号为usr_a的用户,密码为aaa usr_b = bbb usr_c = ccc
- 使用vi打开authz文件,删除全部内容后,保存以下内容:
[groups] art_group = usr_a,usr_b,usr_c #创建一个组,组名为art_group,指定组员有usr_a等3人 [/] admin=rw # 根目录下,只有admin有权限读写 [art:/] @art_group = rw # art目录下,art_group组的人有权限读写
注意,所有配置内容一定要顶格写,不然保存后会报错
- 使用docker重启svn:
docker restart svn-docker
- 我们之前使用的挂载是将3653端口映射到gitlab默认的80端口,这样在gillab的项目中,显示端口时默认是不带端口号的,这次我们使用自定义的端口号
- 进入conf目录,将
gitlab.rb
先备份:mv gitlab.rb gitlba.rb.copy
新建新的gitlab.rb:vi gitlab.rb
external_url 'http://您的远程服务器ip:3650' #gitlab在使用http时,默认的拉取地址非常扯淡,这里改用实际地址 nginx['listen_port'] = 3650 #这里是让gitlab的nginx改为监听该端口(默认为80)
- 关闭原先的gitlab容器:
docker stop gitlab-docker
- 重新启动gitlab:
docker run -d --publish 3650:3650 --publish 3651:443 --publish 3652:22 --name gitlab-docker --volume /root/docker-v/gitlab/config:/etc/gitlab --volume /root/docker-v/gitlab/logs:/var/log/gitlab --volume /root/docker-v/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
这里的端口映射只有3650:80改为3650:3650,如果要修改其它端口,重新启动
参考:https://xie.infoq.cn/article/ee0c8990fe7758b64622c6244
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)