centos7中使用docker安装gitlab和svn

centos7中使用docker安装gitlab和svn,第1张

安装docker
  • 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
启动docker
  • 命令:sudo systemctl start docker
docker安装gitlab
  • 拉取镜像: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的root账户
  • 进入gitlab内部:docker exec -it gitlab-docker /bin/bash
  • 查看root账户的密码:cat /etc/gitlab/initial_root_password
  • 使用root账户进行登陆:用户名:root,密码:s+U2KhG7/r7ZgBcyyGtVZbpCo5uQA83IKalpxTomyRY=
dokcer安装svn
  • 拉取镜像: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

svn使用
  • 进入容器内部:docker exec -it svn-docker /bin/sh
  • 创建一个叫art的仓库:svnadmin create art

    此时,创建的art仓库会同步到docker-v/svn目录中,因为挂载目录进行了映射

*** 作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
在gitlab中使用自定义http端口
  • 我们之前使用的挂载是将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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/791397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存