docker安装配置gitlab详细过程
docker安装配置gitlab详细过程
获取镜像
1、方法一
1
|
docker pull beginor/gitlab-ce:11.0.1-ce.0 |
2、方法二
如果服务器网路不好或者pull不下来镜像,只能在其它网路比较好的机器上pull下来镜像,导出成一个文件,
再下载上传到网路不好的机器上,然后再从文件中导出来,这样在网络不好的机器上也能使用docker镜像了。
运行
1、通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
1
2
3
|
mkdir -p /mnt/gitlab/etc mkdir -p /mnt/gitlab/log mkdir -p /mnt/gitlab/data |
2、准备好这三个目录之后, 就可以开始运行 Docker 镜像了。 我的建议是使用unless-stopped 作为重启策略,
因为这样可以手工停止容器, 方便维护。
完整的运行命令如下:
1
2
3
4
5
6
7
8
9
10
|
docker run \ --detach \ --publish 8443:443 \ --publish 8090:80 \ --name gitlab \ --restart unless-stopped \ -v /mnt/gitlab/etc:/etc/gitlab \ -v /mnt/gitlab/log:/ var /log/gitlab \ -v /mnt/gitlab/data:/ var /opt/gitlab \ beginor/gitlab-ce:11.0.1-ce.0 |
配置GitLab主机名
1、修改/mnt/gitlab/etc/gitlab.rb
把external_url改成部署机器的域名或者IP地址
1
|
vim /mnt/gitlab/etc/gitlab.rb |
2、修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
1
|
vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml |
找到关键字 * ## Web server settings *
将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
到此为止,gitlab的web管理页面就可以正常访问
如果还是不能正常访问的话,检查端口是否被占用?
端口被占用(这里不做)
如果端口号被占用,改了默认的80端口,后面要接端口号
1
|
external_url 'http://192.168.182.129:8090' 注:这里容器内没改,只是映射到8090 |
修改NGINX监听的端口为9999
1
2
|
nginx[ 'listen_addresses' ] = [ '*' ] nginx[ 'listen_port' ] = 8090 |
如果8080端口被Tomcat占用,会出现502的页面
因此需要修改unicorn的配置,如下
1
2
3
4
5
6
7
|
### Advanced settings # unicorn['listen'] = '127.0.0.1' # unicorn['port'] = 8080 # 假设有Tomcat占用了8080,因此改为8082试一试 unicorn[ 'listen' ] = '127.0.0.1' unicorn[ 'port' ] = 8082 |
修改Gitlab数据存储路径(这里不做)
默认的Gitlab数据存储路径,在目录/var/opt/gitlab/git-data下,防止以后数据过大,所以可以修改路径存储为/data/gitlabData
1
2
3
4
5
6
|
vim /mnt/gitlab/etc/gitlab.rb ### For setting up different data storing directory ###! Docs: https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory ###! **If you want to use a single non-default directory to store git data use a ###! path that doesn't contain symlinks.** # git_data_dirs({ "default" => { "path" => "/var/opt/gitlab/git-data", 'gitaly_address' => 'unix:/var/opt/gitlab/gitaly/gitaly.socket' } }) |
1
2
|
#edited by ouyangpeng 2017-8-10 配置gitlab的数据存储位置为/data目录下,保证硬盘安全 git_data_dirs({ "default" => { "path" => "/data/gitlabData" } }) |
设置完后,过一段使用时间,可以看到该目录下的resposities
配置并启动GitLab
像上面步骤修改了GitLab的ip地址一样,临时修改了GitLab的配置之后,得执行如下的命令,应用重新配好的配置并重启GitLab,然后查看GitLab的状态。
因为是容器,所以要进入到gitlab容器中执行命令
1
|
docker exec -ti gitlab /bin/bash |
然后
1
2
3
|
gitlab-ctl reconfigure #花时间比较多 gitlab-ctl restart #改IP重启就可以了 gitlab-ctl status |
登陆
打开浏览器,输入本机的ip地址并登陆
1
|
http: //192.168.182.129:8090 |
默认帐户的用户名是root,第一次访问时,将被重定向到密码重置屏幕,登录后,您可以更改用户名。
常用的几个Gitlab命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# 重新应用gitlab的配置 gitlab-ctl reconfigure # 重启gitlab服务 gitlab-ctl restart # 查看gitlab运行状态 gitlab-ctl status #停止gitlab服务 gitlab-ctl stop # 查看gitlab运行日志 gitlab-ctl tail # 停止相关数据连接服务 gitlab-ctl stop unicorn gitlab-ctl stop sideki |
错误
1、docker启动报错信息如下
1
|
Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen<strong>解决:</strong> |
解决
检查docker端口映射是否冲突
重启docker服务后再启动容器
1
2
|
systemctl restart docker docker start gitlab |
docker安装配置gitlab详细过程的更多相关文章
- docker安装与配置gitlab详细过程
docker安装与配置gitlab详细过程 1.打开网易镜像中心 https://c.163yun.com/hub#/m/home/ 2.搜索gitlab,获取下载地址.例如:docker pull ...
- Centos 6.5 GitLab安装配置搭建详细过程
GitLab搭建详细过程 一.前提 系统:Centos 6.5 软件版本:gitlab-7.8.4 Selinux:关闭 防火墙规则:先清空(搭建好了后续自己添加相关放行规则) 二.yum源配置和 ...
- mac系统下docker安装配置mysql详细步骤
上文介绍了MacOS安装Docker傻瓜式教程,安装好后第一件事就决定把本地数据库迁移过来,那么首先就得安装mysql,下面就开始我们的安装之旅吧. 一.docker配置镜像加速器 我们使用docke ...
- centos7安装配置gitlab详细教程
一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装ss ...
- Centos7安装jdk-12的详细过程
Centos7安装jdk-12的详细过程 2019-04-12 21:23:24 一.下载JDK-12版本 链接地址:官方地址 下载:jdk-12_liunx-x64_bin.tar.gz 二.检 ...
- VMwear安装Centos7超详细过程
本篇文章主要介绍了VMware安装Centos7超详细过程(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.软硬件准备 软件:推荐使用VMwear,我用的是VMwear 12 镜像:Ce ...
- centos7 docker 安装配置
docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#D ...
- VMware安装CentOS7的详细过程
原文:https://www.jianshu.com/p/ce08cdbc4ddb?utm_source=tuicool&utm_medium=referral 本篇文章主要介绍了VMware ...
- JDK下载安装配置教程(详细)
JDK下载安装配置教程(详细) 版权声明:本文为原创文章,转载请附上原文出处链接和本声明.https://www.cnblogs.com/mxxbc/p/11844885.html 因为最近需要在Wi ...
随机推荐
- 一个tomcat服务器上部署多个Web项目,不同域名访问
[参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...
- ajax跨域,这应该是最全的解决方案了
前言 从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于是现在重新梳理了一下. 个人见 ...
- Android实现夜间模式
如今非常多App都有夜间模式,特别是阅读类的App.夜间模式如今已经是阅读类App的标配了,其实,日间模式与夜间模式就是给App定义并应用两套不同颜色的主题,用户能够自己主动或者手动的开启,今天用An ...
- mac 互传文件
搭建HTTP服务,然后局域网访问就行 PHP方式: php -S 172.21.205.xxx:9999 Python python -m SimpleHTTPServer 8001 在浏览器访问:h ...
- 【Py-Github】根据条件筛选Github repo的例子
条件: language:python commits:>100 contributors:>2 stars:>5 fork:0 实现: from github import Git ...
- C# 鼠标移动Winform窗体内或者panel容器内的控件 显示虚线/实现虚线框来确定位置
C# 鼠标移动WinForm窗体或者panel容器内的控件 移动虚线/实现虚线框来确定位置 1.用到的方法介绍 今天,根据领导指示指导移动容器内的控件,生成虚线框,使用 ControlPaint.Dr ...
- ef报错:实体类型XXX不是当前上下文的模型的一部分。
可能原因:.net框架版本与实体框架版本不匹配,比如:.net框架版本为4.5.实体框架版本为6.2. 解决方法:将实体框架版本降到6.0.
- zabbix的安装部署及自定义监控的实现
此篇感谢我的小师傅. 1. Zabbix主要功能和优劣势说明 1. Zabbix主要功能和优劣势说明 1.1 Zabbix主要功能: 1)Application monitoring 应用监控 数据库 ...
- 进程池的回调函数callback
如下代码: from multiprocessing import Pool def func1(n): print('in func1') return n*n def func2(nn): pri ...
- JAVA课后作业01
一.关于枚举的问题 public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t ...