使用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邮件服务的更多相关文章

  1. Docker Compose 部署GitLab

    先决条件 Docker Engine和Docker Compose是必需的.请参阅在CentOS上安装Docker Engine. 建议使用4核的服务器,同时至少分配4G的内存,理论上4核4G可最多支 ...

  2. Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  3. Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  4. Docker Compose 部署前后端分离应用

    部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...

  5. 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  6. 使用Docker Compose 部署Nexus后提示:Unable to create directory /nexus-data/instance

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  7. Docker Compose 部署 Redis 及原理讲解 | 懒人屋

    原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解  4.4k  字    16  分钟    2019-10-1 ...

  8. Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志

    简述 本文用于记录如何使用Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana) 收集Docker容器日志,使用EFK,可以无侵入代码,获得灵活, ...

  9. 基于Docker Compose部署分布式MinIO集群

    一.概述 Minio 是一个基于Go语言的对象存储服务.它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器 ...

  10. 使用Docker Compose部署基于Sentinel的高可用Redis集群

    使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...

随机推荐

  1. jsp+servlet实战项目

    第一步:新建maven项目,项目中添加dao,entity,service,servlet,util包第二步:导入依赖 第三步:数据库建表 第四步:entity实体包(疯转) 第五步:在util工具包 ...

  2. [PWN之路]堆攻击那些事儿

    原文:https://www.freebuf.com/articles/endpoint/371095.html 0x00 前言 根据某大佬所说,pwn之路分为栈,堆,和内核.当前,如果你看到这个文章 ...

  3. 【pandas小技巧】--DataFrame的显示参数

    我们在jupyter notebook中使用pandas显示DataFrame的数据时,由于屏幕大小,或者数据量大小的原因,常常会觉得显示出来的表格不是特别符合预期. 这时,就需要调整pandas显示 ...

  4. java与es8实战之二:实战前的准备工作

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<java与es8实战>系 ...

  5. AI绘画工具MJ新功能有点东西,小白也能轻松一键换装

    先看最终做出来的效果 直接来干货吧.Midjourney,下面简称MJ 1.局部重绘功能来袭 就在前两天,MJ悄咪咪上线了这个被众人期待的新功能:局部重绘. 对于那些追求创新和个性化的设计师来说,局部 ...

  6. 个人GAN训练的性能迭代

    使用GAN进行生成图片 损失函数的迭代 DCGAN->Wasserstein GAN-> Wasserstein GAN + Gradient Penalty Discriminator训 ...

  7. 应用程序接口(API)安全的入门指南

    ​  什么是 API?​ 对于初学者来说,API 是指为两个不同的应用之间实现流畅通信,而设计的应用程序编程接口.它通常被称为应用程序的"中间人".由于我们需要保护用户的持有数据. ...

  8. 淘宝商品详情 API的使用说明

    淘宝平台提供了 API 接口可以用于获取淘宝商品详情信息.通过 API 接口,我们可以获取到商品的基本信息.价格.评论及评价等详细信息.以下是使用说明: 获取淘宝API账号 在获取淘宝商品详情 API ...

  9. fastapi启动后访问docs不显示页面的问题

    笔者之前正常使用fastapi的docs接口进行各种接口调试,使用很正常,之前安装也都是正常安装流程,没有做任何修改,可以突然有一天不知道为啥,docs接口打开是空白的,接口也没有报错,就是空白,摸索 ...

  10. [htmlayout] picture标签替代img, 解决更新图片数据后依然显示原图片数据

    在hl中, 你可能遇到过这样的情况.   给img标签设置了一个图片路径.   在软件使用过程中对这个路径的数据进行过重写, 删除等等 但img依然还是显示最初载入的图片数据. 解决办法: 用&quo ...