Docker-Compose部署Gitlab以及Gitlab配置SMTP邮件服务
使用Docker-Compose部署Gitlab
拉取镜像
地址: https://hub.docker.com/r/gitlab/gitlab-ce/tags
拉取到镜像后,使用docker tag修改镜像,docker push推送到自己的镜像仓库(内网部署)
编写docker-compose文件
##创建容器挂载出来的文件夹
mkdir /gitlab && cd /gitlab
mkdir -p data/{log,opt,etc}
version: '3'
services:
gitlab:
##image需要替换为自己镜像仓库的gitlab-ce地址
image: dbatest1.ip.tp-link.com:9002/gitlab-ce:latest
volumes:
- /gitlab/data/log:/var/log/gitlab
- /gitlab/data/opt:/var/opt/gitlab
- /gitlab/data/etc:/etc/gitlab
ports:
- "80:80" ##UI管理界面地址映射
- "9009:22" ##ssh协议端口地址映射
编写一个Makefile文件
NAME = gitlab
deploy:
docker stack deploy --with-registry-auth --resolve-image always -c docker-compose.yml $(NAME)
修改ssh与域名配置
ps:如果这里不做修改,那么在Gitlab里展示出来的仓库地址都是错误的,是拉取不下来的!以及smtp服务里自动发送的邮件链接里的地址都是容器的地址,点击了根本访问不到!
使用make deploy运行gitlab服务后
去Gitlba服务挂载的文件夹下修改相关配置 /gitlab/data/etc/gitlab.rb
修改以下几行
##这个需要修改为虚拟机上对外开放的ssh端口
gitlab_rails['gitlab_shell_ssh_port'] = 9009
##这个需要修改为gitlab所在虚拟机的域名(如果是固定在单节点就这样写,容器自由编排就不能这么写)
gitlab_rails['gitlab_ssh_host'] = 'dbatest1.ip.tp-link.com'
##这个和上一个一样,需要修改为虚拟机域名以及UI界面访问的端口,默认是80,不同则需修改
external_url 'http://dbatest1.ip.tp-link.com'
修改完后重启服务
docker service update --force gitlab_gitlab
增加SMTP邮件服务
如果想要邮件来通知管理员以及使用者各种更新,需要配置SMTP参数
去Gitlba服务挂载的文件夹下修改相关配置 /gitlab/data/etc/gitlab.rb
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.tp-link.com.hk" ##邮件服务器地址
gitlab_rails['smtp_port'] = 587 ##端口
gitlab_rails['smtp_user_name'] = "yapi@tp-link.com.hk" ##发送邮件的邮箱
gitlab_rails['smtp_password'] = "xxxxxxxxxxx" ##密码
gitlab_rails['smtp_domain'] = "mail.tp-link.com.hk" ##邮件服务器地址
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = 'notifications.yapi@tp-link.com.hk' ##发送邮件的邮箱
修改完后重启服务
docker service update --force gitlab_gitlab
Docker-Compose部署Gitlab以及Gitlab配置SMTP邮件服务的更多相关文章
- Docker Compose 部署GitLab
先决条件 Docker Engine和Docker Compose是必需的.请参阅在CentOS上安装Docker Engine. 建议使用4核的服务器,同时至少分配4G的内存,理论上4核4G可最多支 ...
- Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password
场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- 使用Docker Compose 部署Nexus后提示:Unable to create directory /nexus-data/instance
场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- Docker Compose 部署 Redis 及原理讲解 | 懒人屋
原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解 4.4k 字 16 分钟 2019-10-1 ...
- Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志
简述 本文用于记录如何使用Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana) 收集Docker容器日志,使用EFK,可以无侵入代码,获得灵活, ...
- 基于Docker Compose部署分布式MinIO集群
一.概述 Minio 是一个基于Go语言的对象存储服务.它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器 ...
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...
随机推荐
- 【技术积累】Linux中的命令行【理论篇】【四】
ar命令 命令介绍 ar命令是Linux系统中的一个工具,用于创建.修改和提取静态库文件(archive files).静态库文件是一组已编译的目标文件的集合,可以被链接到可执行文件中. 命令说明 a ...
- SpringBoot3进阶用法
标签:切面.调度.邮件.监控: 一.简介 在上篇<SpringBoot3基础>中已经完成入门案例的开发和测试,在这篇内容中再来看看进阶功能的用法: 主要涉及如下几个功能点: 调度任务:在应 ...
- 【路由器】OpenWrt 简介和安装
目录 简介 来源 介绍 安装 一般安装流程 固件搜索下载 参考资料 简介 来源 2002 年底 Linksys 公司推出 WRT-54G,采用了 Linux 取代了原来的 vXworks 系统.迫于 ...
- 日志开源组件(六)Adaptive Sampling 自适应采样
业务背景 有时候日志的信息比较多,怎么样才可以让系统做到自适应采样呢? 拓展阅读 日志开源组件(一)java 注解结合 spring aop 实现自动输出日志 日志开源组件(二)java 注解结合 s ...
- 构建iOS交叉编译环境
要进行高级的iOS编程,我们需要很多工具链来帮我们完成这一目的 构建iOS交叉编译环境: 1.新建一个iphone交叉编译虚拟机 2. 为我们的虚拟机添加第二个网卡,设为host-only来达到能与宿 ...
- FastDFS入门
一.系统架构 二.构成部分 1.Tracker Server:跟踪服务器,记录文件信息,可单台或集群部署. 2.Storage Server:存储服务器,文件存储位置,分卷或分组部署. 3.Clien ...
- PowerShell收集信息及绕过PowerShell权限
PowerShell脚本的4种执行权限: Restricted:默认设置,不允许任何script运行 AllSigned:只能运行经过数字证书签名的script RemoteSigned:本地脚本不做 ...
- 常见python工具的基本构造-入门
一.常见库 exifread 读取图片中的信息,如GPS信息 https://blog.csdn.net/qq1198768105/article/details/128159598 tkinter ...
- 《微服务架构设计》——Eventuate Tram框架订阅/消费模式源码解析
Eventuate Tram框架官方文档: https://eventuate.io/docs/manual/eventuate-tram/latest/getting-started-eventua ...
- Elasticsearch整合SpringBoot案例
1.elasticsearch官方文档的使用与介绍 1.1.Rest客户端初始化官方文档链接: https://www.elastic.co/guide/en/elasticsearch/client ...