网站首页 > 技术教程 正文
1.拉取gitlab镜像
1.1.搜索镜像
Docker Hub
在官网可以找到各种各样需要的镜像,通过搜索可以找到gitlab镜像。
1.2.拉取gitlab镜像
docker pull gitlab/gitlab-ce
注意:如果没有指定对应的版本,默认会拉取 latest版本。
通过docker images 命令看到gitlab镜像证明你已经pull完了
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gitlab/gitlab-ce latest c752bc978a4b 4 days ago 1.78GB
2.启动gitlab
运行:
docker run --detach --hostname 192.168.3.34 --publish 444:443 --publish 81:80 --publish 23:22 --name gitlab --restart always --volume /opt/gitlab/config:/etc/gitlab --volume /opt/gitlab/logs:/var/log/gitlab --volume /opt/gitlab/data:/var/opt/gitlab c752bc978a4b
- –hostname :指定容器中绑定的域名,会在创建镜像仓库的时候使用到,这里绑定192.168.3.34
- –publish:端口映射;容器内的443,80,22端口,分别映射到宿主机的444,81,23端口
- –volume :挂载数据卷,映射到容器中去的容器外部存储空间
- c752bc978a4b :镜像的ID
数据存储地方
本地的位置 | 容器的位置 | 作用 |
/opt/gitlab/config | /etc/gitlab | 用于存储GitLab配置文件 |
/opt/gitlab/logs | /var/log/gitlab | 用于存储日志 |
/opt/gitlab/data | /var/opt/gitlab | 用于存储应用数据 |
通过docker ps 命令看到gitlab容器证明已经运行成功了
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e12ae220c14 c752bc978a4b "/assets/wrapper" 13 minutes ago Up 13 minutes (healthy) 0.0.0.0:23->22/tcp, 0.0.0.0:81->80/tcp, 0.0.0.0:444->443/tcp gitlab
3.配置GitLab
所有的配置都在唯一的配置文件 /opt/gitlab/config/gitlab.rb。
本文是直接修改生成的配置文件,当然也可以进入容器内部通过shell会话进行相关操作。
# 进入容器命令
docker exec -it gitlab /bin/bash
3.1.配置端口
编辑gitlab.rb文件
修改如下几个端口,修改与docker映射的端口一致
# external_url 'GENERATED_EXTERNAL_URL'
external_url "http://192.168.3.34:81"
# gitlab_rails['gitlab_shell_ssh_port'] = 22
gitlab_rails['gitlab_shell_ssh_port'] = 23
# nginx['listen_port'] = nil
nginx['listen_port'] = 81
#如果用了Https,下面的端口也修改
# nginx['redirect_http_to_https_port'] = 80
说明:
- external_url:GitLab的资源都是基于这个URL,其实就是clone的地址,如果不配置端口81,使用http进行clone时,页面链接会不显示端口,复制出来的链接会无效;
- gitlab_shell_ssh_port:ssh端口,使用ssh进行clone时的端口;
- listen_port:nginx监听的端口;
- redirect_http_to_https_port:使用https时,nginx监听的端口;
注意:这里修改完毕,会有一个坑,具体看目录 3.4.重新创建
3.2.邮箱配置
GitLab的使用过程中涉及到大量的邮件,而邮件服务可以选择使用Postfix,sendmai配置SMTP服务其中一种;
Postfix还要安装其他东西,sendmai又是比较老,相对较下SMTP配置起来会比较方便。
编辑gitlab.rb文件
添加如下配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "XXX@163.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "XXX@163.com"
user["git_user_email"] = "XXX@163.com"
说明:
- gitlab_rails[‘smtp_address’] :SMTP服务地址,不同的服务商不同
- gitlab_rails[‘smtp_port’] :服务端口
- gitlab_rails[‘smtp_user_name’] :用户名,自己注册的
- gitlab_rails[‘smtp_password’] :客户端授权秘钥
- gitlab_rails[‘gitlab_email_from’] :发出邮件的用户,注意跟用户名保持一致
- user[“git_user_email”] :发出用户,注意跟用户名保持一致
3.3.刷新配置
# 进入容器
docker exec -it gitlab /bin/bash
# 刷新配置
gitlab-ctl reconfigure
3.4.重新创建
经过上述的配置,会发现打不开gitlab的网页,这是因为修改了external_url,会导致container内部的项目80端口也被直接转到了81端口,所以需要重新映射端口。
关闭容器
docker stop gitlab
删除容器
docker rm gitlab
重新创建容器
将原来的publish 81:80改为publish 81:81
docker run --detach --hostname 192.168.3.34 --publish 444:443 --publish 81:81 --publish 23:22 --name gitlab --restart always --volume /opt/gitlab/config:/etc/gitlab --volume /opt/gitlab/logs:/var/log/gitlab --volume /opt/gitlab/data:/var/opt/gitlab c752bc978a4b
猜你喜欢
- 2024-10-12 Golang 在MAC/ Linux 下如何交叉编译
- 2024-10-12 Nginx的安装以及反向代理和负载均衡
- 2024-10-12 Web服务器管理软件 goPanel 2(web服务器端软件)
- 2024-10-12 在MacOS安装Linux子系统 - Lima(macpro安装linux)
- 2024-10-12 Mac上必备的API文档管理工具 Dash For Mac 破解版
- 2024-10-12 第二章 感受Mac 之美-惊艳从Mac 外设开始,一周后的使用感受
- 2024-10-12 Mac直播服务器Nginx配置对HLS的支持
- 2024-10-12 goPanel到底是什么软件?干什么用的?
- 2024-10-12 Mac版Web服务器管理工具goPanel 2好用吗?
- 2024-10-12 Mac M1使用brew安装nginx(macos 安装brew)
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)