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容器
注释:
--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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android 后台发送邮件到指定邮箱
- Android中socketpair双向通信详解
- Android滚动条广告实现代码示例
- Android使用Recyclerview实现图片水平自动循环滚动效果
- Android selector的实例详解
- Android底部弹窗的实现示例代码
- Android编程实现自定义渐变颜色效果详解
- ES11屡试不爽的新特性,你用上了几个?
- Android设计模式之策略模式详解
- Android实现类似iOS风格的对话框实例代码
- Android 给图片加上水印的示例代码(支持logo+文字)
- Android studio 下JNI编程实例并生成so库的实现代码
- Android实现简单时钟View的方法
- Android编程之创建自己的内容提供器实现方法
- Android自定义View圆形和拖动圆、跟随手指拖动效果