docker搭建gitlab
来源:互联网 发布:完美数c语言编程 编辑:程序博客网 时间:2024/06/07 21:57
- 下载mysql镜像作为gitlab的数据存储,运行mysql
- 下载redis镜像作为gitlab的key-value储存,运行redis
- 保证以上容器运行完毕,下载gitlab镜像,运行gitlab
1、mysql容器启动
下载mysql镜像,你可以这样做,速度可能会较慢,但不影响
docker pull sameersbn/mysql:latest
创建mysql本地数据卷,如果开启了selinux,必须改变该数据卷目录的selinux文件属性
mkdir -p /datadisk/docker/gitlab/mysql
sudo chcon -Rt svirt_sandbox_file_t /datadisk/docker/gitlab/mysql
运行mysql容器,指定gitlab的账号密码和数据库
docker run –name gitlab-mysql -d \
–env ‘DB_NAME=gitlabhq_production’ \
–env ‘DB_USER=gitlab’ –env ‘DB_PASS=gitlab’ \
–volume /datadisk/docker/gitlab/mysql:/var/lib/mysql \
sameersbn/mysql:latest
进入mysql容器内部,进入mysql创建gitlab用户并给予gitlabhq_production数据库所有权限
docker exec -it /gitlab-mysql mysql -uroot -p 回车,默认root无密码
CREATE USER ‘gitlab’@’%.%.%.%’ IDENTIFIED BY ‘password’;
CREATE DATABASE IF NOT EXISTSgitlabhq_production
DEFAULT CHARACTER SETutf8
COLLATEutf8_unicode_ci
;
GRANT ALL PRIVILEGES ONgitlabhq_production
.* TO ‘gitlab’@’%.%.%.%’;
退出容器,此时mysql容器已启动和配置完成
2、redis容器启动
下载redis镜像
docker pull sameersbn/redis:latest
创建redis本地数据卷,如果开启了selinux,必须改变该数据卷目录的selinux文件属性
mkdir -p /datadisk/docker/gitlab/redis
sudo chcon -Rt svirt_sandbox_file_t /datadisk/docker/gitlab/mysql
运行redis容器
docker run –name gitlab-redis -d \
–volume /datadisk/docker/gitlab/redis:/var/lib/redis \
sameersbn/redis:latest
3、gitlab容器启动
下载gitlab镜像
docker pull sameersbn/gitlab:latest
创建gitlab本地数据卷,如果开启了selinux,必须改变该数据卷目录的selinux文件属性
mkdir -p /datadisk/docker/gitlab/gitlab
sudo chcon -Rt svirt_sandbox_file_t /datadisk/docker/gitlab/gitlab
配置ssL对称加密认证来对gitlab的应用进行保护,ssl私钥(.key文件)公钥(.crt)文件创建
step1:生成key
openssl genrsa -out gitlab.key 2048
step2:生成证书签名请求文件.csr
openssl req -new -key gitlab.key -out gitlab.csr
step3:用私钥对请求进行签名,生成证书
openssl x509 -req -days 3650 -in gitlab.csr -signkey gitlab.key -out gitlab.crt
step4:加强服务安全,生成更强大的DHE参数,时间可能较长
openssl dhparam -out dhparam.pem 2048
gitlab将通过内置环境变量去读取这些证书,而这些证书的位置将会存放在gitlab内部的数据目录/home/git/data/certs/下面。因此我们要在gitlab的本地卷创建certs目录,并将这些证书复制到该目录下
mkdir /datadisk/docker/gitlab/gitlab/certs
cp gitlab.key /datadisk/docker/gitlab/gitlab/certs/
cp gitlab.crt /datadisk/docker/gitlab/gitlab/certs/
cp dhparam.pem /datadisk/docker/gitlab/gitlab/certs/
step5:使用自签名证书并且使用https的负载均衡器,你只需要配置以下环境变量
–env ‘GITLAB_SSH_PORT=10022’ –env ‘GITLAB_PORT=443’
–env ‘GITLAB_HTTPS=true’ –env ‘SSL_SELF_SIGNED=true’
step6:使用http://www.example.com/gitlab方式访问,配置下面参数
–env ‘GITLAB_RELATIVE_URL_ROOT=/gitlab’
启动gitlab容器,redis别名必须为redisio
sudo docker run –name gitlab -d \
–link gitlab-mysql:mysql –link gitlab-redis:redisio \
–publish 10022:22 –publish 10080:80 \
–env ‘GITLAB_RELATIVE_URL_ROOT=/gitlab’ \
–env ‘GITLAB_SSH_PORT=10022’ –env ‘GITLAB_PORT=443’ \
–env ‘GITLAB_HTTPS=true’ –env ‘SSL_SELF_SIGNED=true’ \
–env ‘GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string’ \
–env ‘GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string’ \
–env ‘GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string’ \
–volume /datadisk/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:latest
页面访问http://ip:10080/gitlab查看效果
参考资料:https://github.com/sameersbn/docker-gitlab
- 使用docker搭建gitlab
- Docker 搭建gitlab
- docker搭建gitlab流程
- 使用Docker搭建GitLab
- 使用docker搭建gitlab
- docker搭建gitlab
- docker搭建gitlab
- Docker搭建gitlab服务器让GitLab安装部署更简
- 使用Docker来搭建gitlab(备份)
- Docker搭建自己的Gitlab CI Runner
- docker+gitlab的私有服务环境搭建
- 3步基于docker搭建gitlab-ce
- Docker搭建自己的Gitlab CI Runner
- windows使用docker搭建gitlab(未完成)
- GitLab搭建与维护(基于docker镜像sameersbn/docker-gitlab)
- Docker+Jenkins+Gitlab搭建Nodejs自动化测试实践
- 用docker搭建公司内部的gitlab 和 wiki
- Mac OSX Docker下搭建Android+Jenkins+Gitlab
- NLP基础--词性含义
- Android-PickerView系列之介绍与使用篇(一)
- Pytorch小记(一)
- 属性动画+加入购物车+购物车显示
- HashMap和HashTabe,以及HashSet的区别
- docker搭建gitlab
- 一分钟学会使用IJKPlayer
- 谈日常工作中的几点注意事项
- Unity 接入 Android ShareSDK
- 属性动画 -首页面播放动画 跳转
- kNN算法实践
- 动画加商品详情加商品购物车
- linux命令(二)
- 一些常用的工具类(不定期更新)