相关博文:

服务器版本 Ubuntu 16.04 LTS。

1. 安装和配置

安装命令:

sudo docker run --detach \
--hostname 40.125.206.47 \
--publish 443:443 --publish 80:80 --publish 8888:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

参数说明:

  • --detach: 设置容器后台运行
  • --hostname: 设置容器的 hostname
  • --publish: 端口转发规则(80:Http 访问端口,443:Https 访问端口,8888:主机的 ssh 访问端口,22:Docker 容器中 ssh 访问端口)
  • --name:容器名称
  • --restart always:每次启动容器就重启GitLab
  • --volume: 共享目录挂载,即 docker 容器内外数据共享(/srv/gitlab/data: 应用程序数据,/srv/gitlab/logs:GitLab 的 log,/srv/gitlab/config:GitLab 的配置文件)
  • --e:配置 Gitlab 运行的环境变量

安装成功之后,编辑vim /srv/gitlab/config/gitlab.rb,修改(默认22修改为8888):

gitlab_rails['gitlab_shell_ssh_port'] = 8888

配置修改后,就可以重启 Gitlab 容器了:docker restart gitlab,容器重启 Gitlab 也会进行重启。

浏览器打开:http://40.125.206.47,完成 Gitlab 初始密码操作。

然后就可以克隆和修改项目了(team为 Group 名称):

git clone ssh://git@40.125.206.47:8888/team/hwapp.git

2. 邮箱配置

接着进行 Gitlab 的邮箱配置,需要配置 SMTP,官方配置示例:SMTP settings

我使用的是 QQ 企业邮箱,配置示例:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@xxx.com"
gitlab_rails['smtp_password'] = "xxxx"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true # gitlab_email_from 为邮件发送账号,gitlab_email_display_name 为邮件发送人名称
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xishuai@aiqinhaigou.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab-notify'
# gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
# gitlab_rails['gitlab_email_subject_suffix'] = ''

3. 更新版本

邮箱配置好之后,重启 Gitlab 容器,我们可以进入 Gitlab 容器,进行邮件发送测试(发送标题和正文不能包含中文):

// 进入容器
$ docker exec -it gitlab bash
// 进入控制台
$ gitlab-rails console
// 发送测试邮件
$ Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

发送成功结果:

最后,更新 Gitlab 到最新版本命令(数据和配置不会发生变化):

// 停止 gitlab 容器
$ sudo docker stop gitlab
// 删除 gitlab 容器
$ sudo docker rm gitlab
// 拉取最新的 gitlab 镜像
$ sudo docker pull gitlab/gitlab-ce:latest // 重新执行一开始的安装命令

参考资料:

Ubuntu Docker 简单安装 GitLab的更多相关文章

  1. Centos + docker,Ubuntu + docker介绍安装及详细使用

    docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...

  2. Ubuntu+docker+jenkins安装详细指南

    最近项目上开始实行自动化测试,避免不了与jenkins等持续集成工具打交道,今天就给大家分享一下有关jenkins的简单安装和使用 1,准备环境 (1)ubuntu系统 (2)docker (3)je ...

  3. docker简单安装

    docker的安装官网有很直接的教程,直达链接: Ubuntu:https://docs.docker.com/engine/install/ubuntu/ CentOS:https://docs.d ...

  4. Ubuntu 16.04 安装Gitlab

    这里选用Ubuntu16.04系统 安装Gig sudo apt-get install git 安装gitlab 1,安装依赖包,运行如下命令 sudo apt-get install curl o ...

  5. docker 下安装gitlab

    1.找到docker镜像 docker search gitlab 2.下载gitlab镜像 docker pull  gitlab/gitlab-ce/ 3.通常会将 GitLab 的配置 (etc ...

  6. docker 简单安装java web项目

    前言: Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行 ...

  7. ubuntu docker inflxudb(安装 使用 备份 还原 以及python编码) telegraf Grafana

    inflxudb1.7.7 1.拉取最新的镜像 docker pull influxdb 2.运行实例: docker run -d --restart=always -p 8086:8086 -p ...

  8. ubuntu docker的安装和使用

    Docker CE for Ubuntu Docker CE for Ubuntu is the best way to install the Docker platform on Ubuntu L ...

  9. Docker下安装GitLab

    1.需要先安装Docker和Docker Compose,参考:https://www.cnblogs.com/hackyo/p/9280042.html 2.配置GitLab SSL(可跳过): m ...

随机推荐

  1. acm->stl

    容器 queue 队列 定义 queue的定义需要两个参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型 基本方法 push(x) 入队,将x接到队列的末端 ...

  2. 使用 QDockWidget嵌套布局来实现复杂界面,方便用户可以自定义界面,自由组合窗口

    http://www.cnblogs.com/findumars/p/5436533.html

  3. AOP in dotnet :AspectCore的参数拦截支持

    距离上一篇AspectCore的介绍发布已经很长一段时间了,这篇文章也早该和大家见面,最近一直忙于适应新工作,并在业余时间有幸向何镇汐,Savorboard,农夫,AlexLEWIS等几位大牛请教学习 ...

  4. tcp入门(唐唐的故事)

    1,互联网的实现,分成好几层.每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持.把互联网分成五层,容易让人理解. 2,对这五层的理解(唐唐讲故事): 实体层:目的就是把计算机连接起来,用电气 ...

  5. 基于jmeter,jenkins,ANT接口,性能测试框架

    背景 公司计划推接口和性能测试,搭建这个性能测试框架框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能,接口测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的 ...

  6. Collections 的 synchronized XXX方法

    摘要 static <T> Collection<T> synchronizedCollection(Collection<T> c) 返回指定 collectio ...

  7. FillConsoleOutputAttribute 函数--指定区域填充控制台输出属性

    FillConsoleOutputAttribute函数 来源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682663(v= ...

  8. spring默认欢迎页设置

    简单配置的方式,直接展示静态网页,不经过Controller. web.xml 中什么没有配置任何有关欢迎页的信息!其实这时等效于如下配置:这个会由Web容器最先访问! //-未指定欢迎页时,缺省等于 ...

  9. css阴影,边框,渐变,背景

    一.box-shadow: 参数1,参数2 阴影位置偏移量 参数3 模糊半径 参数4 扩展半径 负数 0 默认值 正数 参数5 阴影的颜色 参数6 设置内阴影 inset 默认是外阴影 多个阴影使用, ...

  10. 【.net 深呼吸】自定义应用程序配置节

    实际上,应用程序配置文件 App.config,是由各个节(Configuration Section)组成的,通常,配置节是按功能划分的,比如我们很熟悉的 appSettings.connectio ...