温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker-compose怎么一键部署gitlab中文版

发布时间:2022-04-20 16:46:49 来源:亿速云 阅读:539 作者:iii 栏目:大数据

这篇文章主要讲解了“Docker-compose怎么一键部署gitlab中文版”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker-compose怎么一键部署gitlab中文版”吧!

一、gitlab介绍

gitlab是利用 ruby on rails 一个开源的版本管理系统,实现一个自托管的git项目仓库,可通过web界面进行访问公开的或者私人项目。它拥有与github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

gitlab就是一个代码仓库,能够非常好地实现对代码的管理和开发人员之间的团队协作。目前应用最为广泛地就是利用jenkins和gitlab实现持续集成和部署。官方的推荐配置为2核心cpu和4g内存,这是因为gitlab的整体运行包含了多个进程,如:nginx、postgresql、prometheus、redis等等。

二、安装docker

1.安装docker依赖包

[root@gitlab ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

2.添加docker-ce镜像源并安装

1.1)国外源(适合在国外工作的朋友)

[root@gitlab ~]# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

1.2)国内阿里云源(适合在国内工作的朋友)

[root@gitlab ~]# yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2)服务器的包信息下载到本地电脑缓存起来

[root@gitlab ~]# yum makecache fast

3)安装docker ce

[root@gitlab ~]# yum -y install docker-ce

4)配置下载docker镜像加速器

国外加速器:

[root@gitlab ~]# curl -ssl https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://bc437cce.m.daocloud.io

国内阿里云加速器:

vim /etc/docker/daemon.json
#输入下面内容并保存:
{
"registry-mirrors": [https://9w1hl6qt.mirror.aliyuncs.com]
}

5)重载systemctl并自动和开启自启动docker

[root@gitlab ~]# systemctl daemon-reload
[root@gitlab ~]# systemctl start docker
[root@gitlab ~]# systemctl enable docker
[root@gitlab ~]# docker --version 
docker version 18.09.0, build 4d60db4

三、安装docker-compose

下载docker-compose二进制文件并添加执行权限

[root@gitlab ~]# curl -l https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose
% total % received % xferd average speed time time time current
dload upload total spent left speed
100 617 0 617 0 0 590 0 --:--:-- 0:00:01 --:--:-- 590
100 11.2m 100 11.2m 0 0 498k 0 0:00:23 0:00:23 --:--:-- 737k
[root@gitlab ~]# chmod +x /usr/local/bin/docker-compose
[root@gitlab ~]# docker-compose --version
docker-compose version 1.23.2, build 1110ad01

四、安装gitlab

1)编辑docker-compose的yml文件

[root@gitlab ~]# mkdir gitlab
[root@gitlab ~]# cd gitlab
[root@gitlab gitlab]# vim docker-compose.yml
 version: '2'
 services:
   gitlab:
    image: 'twang2218/gitlab-ce-zh:latest'
    container_name: "gitlab"
    restart: unless-stopped
    privileged: true
    hostname: 'gitlab'
    environment:
    tz: 'asia/shanghai'
    gitlab_omnibus_config: |
     external_url 'http://ip或者用nginx做反代的域名'
     gitlab_rails['time_zone'] = 'asia/shanghai'
     gitlab_rails['smtp_enable'] = true
     gitlab_rails['smtp_address'] = "smtp.163.com"
     gitlab_rails['smtp_port'] = 465
     gitlab_rails['smtp_user_name'] = "xxxxxx@163.com"
     gitlab_rails['smtp_password'] = "授权码"
     gitlab_rails['smtp_domain'] = "163.com"
     gitlab_rails['smtp_authentication'] = "login"
     gitlab_rails['smtp_enable_starttls_auto'] = true
     gitlab_rails['smtp_tls'] = true
     gitlab_rails['gitlab_email_from'] = 'xxxxxx@163.com'
     gitlab_rails['gitlab_shell_ssh_port'] = 22
    ports:
     - '8181:80'
     - '8443:443'
     - '22:22'
    volumes:
     - /opt/gitlab/config:/etc/gitlab
     - /opt/gitlab/data:/var/opt/gitlab
     - /opt/gitlab/logs:/var/log/gitlab

端口映射说明以及注意事项:

  • gitlab镜像官方推荐容器80端口映射宿主机8181端口

  • gitlab镜像官方推荐容器443端口映射宿主机8443端口

  • gitlab镜像官方推荐容器22端口映射宿主机22端口

⭐️头两行不能顶头写,要分别都空一行,可以去yml文件检测网站进行检测:

如你们的检测如下图所示,则表示yml文件完全无误:

Docker-compose怎么一键部署gitlab中文版

下面是在我linux服务器上看到的情况:

Docker-compose怎么一键部署gitlab中文版

2)创建相关目录

[root@gitlab gitlab]# mkdir -p /opt/gitlab/{config,data,logs}
[root@gitlab gitlab]# ls -l /opt/gitlab/
total 0
drwxr-xr-x 2 root root 6 dec 22 12:03 config
drwxr-xr-x 2 root root 6 dec 22 12:03 data
drwxr-xr-x 2 root root 6 dec 22 12:03 logs

目录说明如下:

  • config 存储 gitlab 配置信息

  • data 存储数据库

  • logs 存储日志

3)拉取gitlab中文版镜像

[root@gitlab gitlab]# docker pull twang2218/gitlab-ce-zh:latest
latest: pulling from twang2218/gitlab-ce-zh
8ee29e426c26: pull complete
6e83b260b73b: pull complete
e26b65fd1143: pull complete
40dca07f8222: pull complete
b420ae9e10b3: pull complete
a218309dd589: pull complete
5c60fd7ba0ce: pull complete
659c2144b5a3: pull complete
8289bbac0d0e: pull complete
31bbd150e8a7: pull complete
9114e78243fa: pull complete
e242e5cd1314: pull complete
0a079dc3f92c: pull complete
f0e195b09fd2: pull complete
6e23346e2f58: pull complete
91f00659be69: pull complete
a1031bcc5b2c: pull complete
e3074327c7b1: pull complete
a917618dbe42: pull complete
digest: sha256:62686b74c6fca5ece8ed582d03a126c5988423dd8a19ce70e9a22357ffcaf1c8
status: downloaded newer image for twang2218/gitlab-ce-zh:latest

[root@gitlab gitlab]# docker images
repository tag image id created size
twang2218/gitlab-ce-zh latest 18da462b5ff5 4 months ago 1.61gb

4)启动gitlab的容器

在启动前,先要修改宿主机的22端口,因为宿主机占用了22端口,所以启动容器会失败,因为映射不过来,修改如下:
vim /etc/ssh/sshd_config

默认在第17行修改:port 2222

修改后,重启sshd:systemctl restart sshd

[root@gitlab gitlab]# netstat -tulnp | grep 22
tcp 0 0 0.0.0.0:2222 0.0.0.0: listen 31889/sshd
tcp6 0 0 :::2222 ::: listen 31889/sshd

正式启动:

[root@gitlab gitlab]# docker-compose up -d
creating network "gitlab_default" with the default driver
creating gitlab ... done

[root@gitlab gitlab]# docker-compose ps
name command state ports
gitlab /assets/wrapper up (healthy) 0.0.0.0:22->22/tcp, 0.0.0.0:8443->443/tcp, 0.0.0.0:8181->80/tcp

[root@gitlab gitlab]# docker ps -a
container id image command created status ports names
814e559dc728 twang2218/gitlab-ce-zh:latest "/assets/wrapper" 5 minutes ago up 5 minutes (healthy) 0.0.0.0:22->22/tcp, 0.0.0.0:8181->80/tcp, 0.0.0.0:8443->443/tcp gitlab

5)gitlab设置开机启动

[root@gitlab gitlab]# chmod +x /etc/rc.local
[root@gitlab gitlab]# ls -l /etc/rc.local
lrwxrwxrwx 1 root root 13 dec 3 14:31 /etc/rc.local -> rc.d/rc.local
[root@gitlab gitlab]# echo "cd /root/gitlab && docker-compose up -d" >> /etc/rc.local
[root@gitlab gitlab]# tail -1 /etc/rc.local
cd /root/gitlab && docker-compose up -d

6)gitlab管理界面

地址:在浏览器输入yml文件的第12行ip或者域名

用户:root

密码:首次登陆需要手动设置密码

感谢各位的阅读,以上就是“Docker-compose怎么一键部署gitlab中文版”的内容了,经过本文的学习后,相信大家对Docker-compose怎么一键部署gitlab中文版这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI