Centos7使用docker搭建gitlab服务器

 更新时间:2018年04月04日 13:16:57   作者:JeremyWYL  
这篇文章主要为大家详细介绍了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 rmiID号 #删除容器

四、配置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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 远程桌面超出最大连接数的解决方法

    远程桌面超出最大连接数的解决方法

    有时候登录服务器的时候提示远程桌面超出最大连接数,导致无法连接服务器,下面简单的整理下,需要的朋友可以参考下。
    2012-01-01
  • 无需密码通过ssh执行rsync来同步文件的方法

    无需密码通过ssh执行rsync来同步文件的方法

    这篇文章主要介绍了无需密码通过ssh执行rsync来同步文件的方法,需要的朋友可以参考下
    2015-01-01
  • 如何使用linux+nginx 作为unity webgl的服务器

    如何使用linux+nginx 作为unity webgl的服务器

    使用Linux和Nginx作为UnityWebGL项目的服务器时,建议通过命令行下载Nginx,并采用源码编译方式,配置Nginx的html路径为绝对路径,并启动Nginx服务,此方法适用于希望在Linux环境下部署UnityWebGL应用的开发者
    2024-11-11
  • 阿里云服务器Ubuntu 20.04上安装Odoo 15的详细过程

    阿里云服务器Ubuntu 20.04上安装Odoo 15的详细过程

    这篇文章主要介绍了在阿里云服务器Ubuntu 20.04上安装Odoo 15的过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • CentOS与Ubuntu哪个更适合做服务器系统

    CentOS与Ubuntu哪个更适合做服务器系统

    对于服务器而言,有两个主流的 Linux 发行版,那就是 CentOS 和 Ubuntu。但如何从这两个之中选择,这是摆在管理员、初学者和专业人士面前的主要问题。在对这两个(和更多)发行版有了一定的经验之后,我们决定对这两个发行版用于服务器时做个比较
    2017-04-04
  • 基于BaseHTTPRequestHandler的HTTP服务器使用及实现方法

    基于BaseHTTPRequestHandler的HTTP服务器使用及实现方法

    BaseHTTPRequestHandler是Python中的一个基类,属于http.server模块,用于处理HTTP请求的基本功能,下面详细介绍BaseHTTPRequestHandler的主要特点和使用方法,感兴趣的朋友一起看看吧
    2023-10-10
  • 分享几款linux下常见的vps控制面板

    分享几款linux下常见的vps控制面板

    VPS主机控制面板主要是用来控制和管理VPS服务器的,一般来说如果想要将VPS主机共享出来给多个人使用的话,我们就会采用类似于Cpanel、Virtualmin等主机控制面板。如果VPS主机只是一个人使用的话部落建议还是不要使用主机控制面板,以免带来不必要的安全隐患
    2017-07-07
  • 10个常见的HTTP状态码详解

    10个常见的HTTP状态码详解

    HTTP状态码是用以表示网页服务器HTTP响应状态的3位数字代码,下面为大家介绍500内部服务器错误,404文件未找到,403禁止访问 等常见的10个HTTP状态码
    2018-09-09
  • windows服务器之win2003,win2008R2,win2012,win2016,win2019系统版本区别

    windows服务器之win2003,win2008R2,win2012,win2016,win2019系统版本区别

    windows服务器版有window2003,windows server2008,windows server2012 R2,windows server2016,windows 2019他们有什么不同,如何选择适合自己的服务器系统,需要的朋友可以参考下
    2020-02-02
  • 宝塔面板中mongodb的配置教程分享

    宝塔面板中mongodb的配置教程分享

    MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案,下面我们来讲讲如何在宝塔面板中配置mongodb吧
    2023-08-08

最新评论