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 |
最新文章
- 四则运算GUI设计2.0
- 微软再次要求Google审查官方链接 称将进行调查
- .NET 在浏览器中下载TXT文件
- sql 错误提示
- RHEL7网络管理之nmcli
- IP+IDC-chinaz抓取
- bzoj 2330: [SCOI2011]糖果
- Servlet Listener
- dojo新建widget步骤----主要针对widget路径
- 从Search Sort到Join
- 移动平台的meta标签-----神奇的功效(转)
- aStar算法求第k短路
- Python机器学习 (Python Machine Learning 中文版 PDF)
- 第七天:创建WBS
- 微信小程序-全国快递查询
- SpringSecurity如何退出登录
- js里面关于日期转换的问题
- ERP合同审核流程处理(二十九)
- IOS tableView的一些问题总结
- 如何禁用MySql总是定时弹出一个MySQLInstallerConsole.exe的窗口
热门文章
- EntityFramework 动态构造排序 Func<;IQueryable<;T>;, IOrderedQueryable<;T>;>; Dynamic
- 四大中三家已面向客户推出机器人业务解决方案?别逗了,先用机器人自我革命吧! post by 上海嘉冰信息技术
- 2.静态AOP实现-装饰器模式
- go对json对象的生成和解析
- java多线程的3种写法
- PHP读取HTML生成doc
- oracle 字符转换成数字
- Python3.6连接mysql(一)
- LPVOID 没有类型的指针
- python 第三方扩展库的安装