Docke实例之搭建gitlab的方法

 更新时间:2018年03月08日 10:38:50   作者:HanSummer  
本篇文章主要介绍了Docke实例之搭建gitlab的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

gitlab介绍概述

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库

官网:

https://about.gitlab.com/

https://github.com/gitlabhq/gitlabhq

前端:Nginx,用于页面及Git tool走http或https协议
后端:Gitlab服务,采用Ruby on Rails框架,通过unicorn实现后台服务及多进程
SSHD:开启sshd服务,用于用户上传ssh key进行版本克隆及上传。注:用户上传的ssh key是保存到git账户中
数据库:目前仅支持MySQL和PostgreSQL
Redis:用于存储用户session和任务,任务包括新建仓库、发送邮件等等
Sidekiq:Rails框架自带的,订阅redis中的任务并执行

搭建流程

1.创建虚拟机

复制代码 代码如下:

docker-machine create --driver virtualbox --virtualbox-cpu-count 4 --virtualbox-memory 3072 dev-gitlab

2.配置虚拟机的加速器

docker-machine ssh dev-gitlab

sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://6cade60d.m.daocloud.io |g" /var/lib/boot2docker/profile

exit

docker-machine restart dev-gitlab

3.下载redis,postgresql,gitlab镜像

docker pull sameersbn/redis

docker pull sameersbn/postgresql

docker pull sameersbn/gitlab

4.执行上面镜像生成容器( \ 为换行符展现,实际上去掉 \ 一行执行)

# 生成postgresql镜像容器

docker run --name postgresql -d \
-e 'DB_NAME=gitlabhq_production' \
-e 'DB_USER=gitlab' \
-e 'DB_PASS=password' \
-e 'DB_EXTENSION=pg_trgm' \
-v /home/docker/opt/postgresql/data:/var/lib/postgresql \
sameersbn/postgresql
# 生成redis镜像容器

docker run --name redis -d \
-v /home/docker/opt/redis/data:/var/lib/redis \
sameersbn/redis
# 生成redis镜像容器
# 注意: GITLAB_HOST为虚拟机分配的地址

docker run --name gitlab -d \
--link postgresql:postgresql --link redis:redisio \
-p 10022:22 -p 10080:80 \
-e 'GITLAB_PORT=10080' \
-e 'GITLAB_SSH_PORT=10022' \
-e 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
-e 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \
-e 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \
-e 'GITLAB_HOST=192.168.99.100' \
-e 'GITLAB_EMAIL=xiahl0916@163.com' \
-e 'SMTP_ENABLED=true' \
-e 'SMTP_DOMAIN=www.163.com' \
-e 'SMTP_HOST=smtp.163.com' \
-e 'SMTP_STARTTLS=false' \
-e 'SMTP_USER=邮箱地址' \
-e 'SMTP_PASS=邮箱密码' \
-e 'SMTP_AUTHENTICATION=login' \
-e 'GITLAB_BACKUP_SCHEDULE=daily' \
-e 'GITLAB_BACKUP_TIME=00:30' \
-v /home/docker/opt/gitlab/data:/home/git/data -m 2048m --memory-swap=-1 \
sameersbn/gitlab

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Dockerfile命令参数的具体使用

    Dockerfile命令参数的具体使用

    Dockerfile是一个文本文件,包含用户构建镜像的所需要的全部命令,本文主要介绍了Dockerfile命令参数的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 解决Docker镜像拉取超时及优化网络配置的方法(failed to do request: Head “https://registry-1.docker.io/v2/*)

    解决Docker镜像拉取超时及优化网络配置的方法(failed to do request

    在使用 Docker 构建和部署应用时,拉取镜像是一个关键的步骤,然而,在一些网络环境中,特别是企业内部网或受限网络环境中,可能会遇到 Docker 镜像拉取失败或超时的问题,这篇博客将详细探讨如何应对 Docker 镜像拉取超时的问题,需要的朋友可以参考下
    2024-11-11
  • Docker使用run命令部署Redis的完整指南

    Docker使用run命令部署Redis的完整指南

    Redis作为当今最流行的内存数据库和缓存解决方案之一,与 Docker 容器技术的结合为开发者提供了极致的部署灵活性和环境一致性,下面我们来看看如何使用run命令部署Redis吧
    2025-03-03
  • Docker保存镜像和导入镜像文件完整图文教程

    Docker保存镜像和导入镜像文件完整图文教程

    这篇文章主要给大家介绍了关于Docker保存镜像和导入镜像文件的完整图文教程,适用于备份、迁移和版本控制等场景,文中通过代码及图文介绍的非常详细,需要的朋友可以参考下
    2024-12-12
  • Windows安装docker-desktop的详细步骤

    Windows安装docker-desktop的详细步骤

    这篇文章主要介绍了Windows安装docker-desktop的详细步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • 如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

    如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

    本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到Nginx容器内,Nginx可以提供文件列表和下载功能,推荐使用Docker Compose来管理容器
    2025-03-03
  • docker容器增加或者修改容器映射端口的实现方法

    docker容器增加或者修改容器映射端口的实现方法

    在只有使用docker安装的容器,没有使用docker-compose或者其他客户端工具,如果要增加或者修改容器端口,也是可以增加或者修改容器端口映射,本文给大家介绍了docker容器增加或者修改容器映射端口的实现方法,需要的朋友可以参考下
    2025-01-01
  • 使用docker compose一键部署多个服务的方法

    使用docker compose一键部署多个服务的方法

    docker compose 是 docker 官方的开源项目,用来实现对 docker 容器集群的快速编排,通过docker-compose可以一键创建和删除多个容器 ,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2024-01-01
  • Docker制作镜像的两种方式(在线制作和离线制作)

    Docker制作镜像的两种方式(在线制作和离线制作)

    我们知道要创建一个Docker容器,要先有Docker镜像,Docker镜像怎么创建的呢?下面这篇文章主要给大家介绍了关于Docker制作镜像的两种方式(在线制作和离线制作)的相关资料,需要的朋友可以参考下
    2023-03-03
  • 使用 kind 和 Docker 启动本地的 Kubernetes环境

    使用 kind 和 Docker 启动本地的 Kubernetes环境

    这篇文章主要介绍了使用 kind 和 Docker 启动本地的 Kubernetes环境,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论