热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:docker安装配置gitlab详细过程

本文由编程笔记#小编为大家整理,主要介绍了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解决:





解决

检查docker端口映射是否冲突
重启docker服务后再启动容器





 









1

2



systemctl restart docker

docker start gitlab





 

参考文档

docker安装中文版的gitlab
https://hub.docker.com/r/beginor/gitlab-ce/









推荐阅读
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 使用Docker安装和运行Nexus
    本文介绍了使用Docker安装和运行Nexus的方法,包括docker-compose.yml配置和启动时可能出现的权限问题解决方法。同时提供了登录控制台验证安装的地址和登录信息。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • PHP函数实现分页含文本分页和数字分页【PHP】
    后端开发|php教程PHP,分页后端开发-php教程最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。影视网源码带充值系统,vscode配置根 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
author-avatar
握住每一缕光
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有