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 ...
随机推荐
- Win7 SP1 64位 旗舰版 IE8 快速稳定 纯净优化 无人值守 自动激活 20180604
一.系统特色 1.采用微软原版旗舰版定制而成. 2.优化系统服务,关闭一些平时很少使用的服务. 3.精简掉一些无用的东西. 4.系统全程离线制作,不包含任何恶意插件,放心使用. 5.右下角时间加上星期 ...
- docker容器添加微软雅黑字体
添加中文字体其实很简单,往容器里COPY一个ttf字体文件就生效了,不需要执行fc-cache. 基于debian 8的tomcat容器,Dockerfile: COPY msyh.ttf /usr/ ...
- ASCII码与unicode字符集
问题1:为什么需要字符ASCII码.unicode码等等???它们到底有什么作用? 首先要明白一个事实:在计算机中只能用一系列存储着的0和1,当我们把一个字符存放在计算机时,我们是如何表示常用的字符呢 ...
- Linux之文件系统各种符号说明
/ 根目录 唯一必须挂载的目录.不要有任何的犹豫,选一个分区,挂载它!(在绝大多数情况下,有10G的容量应该是够用了.当然了,很多东西都是多多益善的) /boot 它包含了操作系统的内核和在启动系统过 ...
- Logstash安装和使用
Logstash 是开源的服务器端数据处理管道,能够同时 从多个来源采集数据.转换数据,然后将数据发送到您最喜欢的 “存储库” 中.(我们的存储库当然是 Elasticsearch.) 作用:集中.转 ...
- Springboot中如何在Utils类中使用@Autowired注入bean
Springboot中如果希望在Utils工具类中,使用到我们已经定义过的Dao层或者Service层Bean,可以如下编写Utils类: 1. 使用@Component注解标记工具类Statisti ...
- java基础---->java8中的函数式接口
这里面简单的讲一下java8中的函数式接口,Function.Consumer.Predicate和Supplier. 函数式接口例子 一.Function:接受参数,有返回参数 package co ...
- Q - Girls and Boys
来源poj1068 In the second year of the university somebody started a study on the romantic relations be ...
- 扫描系统进程和获取某进程的PID
扫描系统的所有进程 #include <stdio.h> #include <windows.h> #include <tlhelp32.h> int scan() ...
- 31、cookie小test
请尽量使用JQuery进行代码编写,需求如下: 1. 页面初始化样式如图 2. 顶部input框中输入内容,按下回车enter键后,“正在进行” 列表中加入该条内容. 3. 顶部input框中输 ...