资讯专栏INFORMATION COLUMN

Docker之旅——实例: 搭建gitlab(四)

icyfire / 1386人阅读

摘要:介绍搭建与维护基于镜像图片来自于公社前端,用于页面及走或协议后端服务,采用框架,通过实现后台服务及多进程开启服务,用于用户上传进行版本克隆及上传。

gitlab介绍

GitLab搭建与维护(基于Docker镜像sameersbn/docker-gitlab)

图片来自于: Linux公社(https://www.linuxidc.com)

前端: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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28041.html

相关文章

  • Docker之旅——docker-machine命令(三)

    摘要:基本使用查看当前的创建一个更改环境变量,使得本地指向其他命令查看帮助信息查看活动的主机输出连接的配置信息创建一个主机显示连接到某个主机需要的环境变量输出主机更新信息获取主机地址停止某个主机列出所有管理的主机为某个主机重新成功认 基本使用 1.查看当前的machine: docker-machine ls 2.创建一个dockermachine docker-machine create...

    fjcgreat 评论0 收藏0
  • DockerGitLab CI 在前端工作流上的实践分享(一)

    摘要:如今前端工程越来越复杂,打造一个好用的工作流也显得越来越重要。如果用户启动容器时指定了运行的命令,则会覆盖掉指定的命令。个人感觉在项目多协作人数多的情况下,还是很方便的。 showImg(https://segmentfault.com/img/remote/1460000011553749?w=1100&h=225); 如今前端工程越来越复杂,打造一个好用的工作流也显得越来越重要。本...

    wyk1184 评论0 收藏0
  • DockerGitLab CI 在前端工作流上的实践分享(一)

    摘要:如今前端工程越来越复杂,打造一个好用的工作流也显得越来越重要。如果用户启动容器时指定了运行的命令,则会覆盖掉指定的命令。个人感觉在项目多协作人数多的情况下,还是很方便的。 showImg(https://segmentfault.com/img/remote/1460000011553749?w=1100&h=225); 如今前端工程越来越复杂,打造一个好用的工作流也显得越来越重要。本...

    godruoyi 评论0 收藏0
  • Docker使用实战总结

    摘要:最近很火,所以,也跟着未来的大趋势学下,并将应用到项目开发中。容器是完全使用沙箱机制,相互之间不会有任何接口类似的更重要的是容器性能开销极低。在中搜索搜索的范围是官方镜像和所有个人公共镜像。的应用都是以这种格式发布到仓库中,供大家使用。 Docker 最近很火,所以,也跟着未来的大趋势学下docker,并将docker 应用到项目开发中。 一、什么是docker Docker 是一个开...

    willin 评论0 收藏0
  • 如何使用GitLab和Rancher构建CI/CD流水线 – Part 2

    摘要:第一部分的内容介绍了如何部署配置和确保在的运行。这一部分中,我们将介绍如何使用构建容器,以及如何使用容器配置项目。除此之外,我们还将涉及如何用建立容器并部署到上。 这是我们使用GitLab和Rancher构建CI/CD流水线系列教程的第二部分。第一部分的内容介绍了如何部署、配置和确保GitLab在Rancher的运行。这一部分中,我们将介绍如何使用GitLab CI Multi-Run...

    maybe_009 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<