• Centos7使用docker搭建gitlab服务器


    了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器。

    效果图如下:

    系统环境:CentOS Linux release 7.1.1503 (Core) 

    git版本:/gitlab/gitlab-ce

    一、安装和启动docker

    安装:yum -y install docker

    启动:systemctl start docker

    开机启动:systemctl enable docker

    二、拉取镜像文件

    docker images  #查看镜像文件,没拉取之前是没有任何镜像的

    docker search gitlab #搜索镜像

    本文将下载第一个镜像。

    docker pull docker.io/gitlab/gitlab-ce  #下载镜像,下载完成后

    docker images #查看镜像文件

    三、运行gitlab容器

    docker run --name='gitlab-ce' -d -p 10022:22 -p 80:80 --restart always --volume /opt/gitlab/config:/etc/gitlab --volume /opt/gitlab/logs:/var/log/gitlab --volume /opt/gitlab/data:/var/opt/gitlab/ gitlab/gitlab-ce

    注释:

      --name="nginx-lb": 为容器指定一个名称;

       -d: 后台运行容器,并返回容器ID;

       -p: 指定映射端口号,本文是将ssh的22端口映射为10022端口,web访问的80端口映射为80端口

       -volume: 用来指定挂载目录,将config配置目录、data数据目录、logs日志目录挂载到宿主机上,以后备份方便

      最后就是下载的容器名称

    这样就可以通过docker容器来运行一个gitlab服务器。

    docker ps #查看运行的容器

    docker stop 名称或者ID号 #关闭容器

    docker start 名称或者ID号 #开启容器

    docker rmi  ID号 #删除容器

    四、配置gitlab服务器的访问地址及邮箱

    当运行gitlab服务器后,会在映射目录/opt/gitlab/config/目录下生成一个配置文件gitlab.rb

    编辑gitlab.rb文件

    vim /opt/gitlab/config/gitlab.rb
    # 配置http协议所使用的访问地址
    external_url 'http://172.16.81.81'
    
    # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '172.16.81.81'
    gitlab_rails['gitlab_shell_ssh_port'] = 10022

    配置邮件

    vim /opt/gitlab/config/gitlab.rb
    # 这里以新浪的邮箱为例配置smtp服务器
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.xxx.com"
    gitlab_rails['smtp_port'] = 25
    gitlab_rails['smtp_user_name'] = "name4mail"
    gitlab_rails['smtp_password'] = "passwd4mail"
    gitlab_rails['smtp_domain'] = "xxx.com"
    gitlab_rails['smtp_authentication'] = :login
    gitlab_rails['smtp_enable_starttls_auto'] = true
    
    # 还有个需要注意的地方是指定发送邮件所用的邮箱,这个要和上面配置的邮箱一致
    gitlab_rails['gitlab_email_from'] = 'name4mail@xxx.com'

    设置网络IP

    # 设置网络IP
    pipework br0 gitlab-ce 172.16.81.81/24@172.16.81.1

    修改gitlab.rb配置文件之后,重启容器。

    # 进入容器
    docker exec -it gitlab-ce  bash
    
    # 重启gitlab
    gitlab-ctl reconfigure

    gitlab上的项目生成的访问地址如下

    # HTTP
    http://172.16.81.81/root/test-docker-gitlab.git 
    # SSH
    ssh://git@172.16.81.81:10022/root/test-docker-gitlab.git

    五、web访问验证

    初始页面是设置密码,设置完成后就是一开始看到的效果。

    初始用户名:root

  • 相关阅读:
    Linux下PHP升级的方法
    centos6 授权文件夹所有用户可用
    重置密码遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)问题
    MySQL Daemon failed to start. 正在启动 mysqld:[失败]
    MySql取消密码强度验证功能
    twbsPagination.js分页插件
    同一个Tomcat部署多个springboot项目问题
    同一个tomcat部署多个项目导致启动失败
    启动Spring boot项目报错:java.lang.IllegalArgumentException: LoggerFactory is not a Logback
    Vue中关于vue-awesome-swiper插件使用以及要注意的 “坑”
  • 原文地址:https://www.cnblogs.com/JeremyWYL/p/8694978.html
Copyright © 2020-2023  润新知