centos7下使用docker安装gitlab【转】

环境背景:

Docker化已经成为一种热门,记录一下使用docker引擎安装gitlab的过程。

测试环境:

系统 软件 依赖
CentOS 7.4 GitLab(latest) docker-ce 18

安装过程:

1. 安装docker引擎并启动

[[email protected] ~]# yum install docker-ce -y    //需要去官方下载docker.repo文件
[[email protected] ~]# systemctl enable docker
[[email protected] ~]# systemctl start docker

2. 获取gitlab镜像包

[[email protected] ~]# docker pull gitlab/gitlab-ce    //里面集成的东西较多,镜像可能比较大

查看下载好的镜像

[[email protected] logs]# docker images
REPOSITORY                                TAG                 IMAGE ID            CREATED             SIZE
gitlab/gitlab-ce                          latest              991cd608c116        2 weeks ago         1.59GB

3. 在本机准备gitlab工作目录

[[email protected] ~]# mkdir -p /data/docker/gitlab/{config,data,logs}

以上在本机建立的3个目录是为了gitlab容器通过挂载本机目录启动后可以映射配置文件,数据文件,日志文件到本机,然后后续就可以直接在本机查看和编辑了,不用再进容器操作。

4. 启动gitlab(关键步骤)

docker run -d --name gitlab --hostname gitlab --restart always -p 4443:443 -p 8888:80 -p 2222:22 -v /data/docker/gitlab/config:/etc/gitlab  -v /data/docker/gitlab/data:/var/opt/gitlab -v /data/docker/gitlab/logs:/var/log/gitlab gitlab/gitlab-ce:latest

说明:

-d:后台运行

--name:设置容器的名字;

--hostname:设置容器内主机的名字;

--restart:设置容器的重启策略,可选项: no | on-failure[:max-retries] | always | unless-stopped ;

-p(小写字母):映射端口,形式:[hostPort:]containerPort,如果不加主机端口,那么会在主机上生成随机端口;

-v(小写字母):挂载目录,形式:[HOST-DIR:]CONTAINER-DIR;

4. 检查启动信息

[[email protected] ~]# docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED              STATUS                                 PORTS                                                               NAMES
3c8cdd184582        gitlab/gitlab-ce:latest   "/assets/wrapper"        About a minute ago   Up About a minute (health: starting)   0.0.0.0:2222->22/tcp, 0.0.0.0:8888->80/tcp, 0.0.0.0:4443->443/tcp   gitlab

启动需要一些时间,过一段时间后再次查看

[[email protected] logs]# docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                   PORTS                                                               NAMES
3c8cdd184582        gitlab/gitlab-ce:latest   "/assets/wrapper"        3 minutes ago       Up 3 minutes (healthy)   0.0.0.0:2222->22/tcp, 0.0.0.0:8888->80/tcp, 0.0.0.0:4443->443/tcp   gitlab

再查看本机端口状态

[[email protected] ~]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::2222                 :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 :::8888                 :::*                    LISTEN
tcp6       0      0 :::4443                 :::*                    LISTEN     

查看本机为gitlab容器新建的工作目录内容

[[email protected] ~]# tree -L 2 /data/docker/gitlab/
/data/docker/gitlab/
├── config
│   ├── gitlab.rb        // 主要配置文件
│   ├── gitlab-secrets.json
│   ├── ssh_host_ecdsa_key
│   ├── ssh_host_ecdsa_key.pub
│   ├── ssh_host_ed25519_key
│   ├── ssh_host_ed25519_key.pub
│   ├── ssh_host_rsa_key
│   ├── ssh_host_rsa_key.pub
│   └── trusted-certs
├── data
│   ├── backups
│   ├── git-data
│   ├── gitlab-ci
│   ├── gitlab-rails
│   ├── gitlab-shell
│   ├── logrotate
│   ├── postgresql
│   ├── redis
│   └── trusted-certs-directory-hash
└── logs
    ├── gitlab-rails
    ├── gitlab-shell
    ├── logrotate
    ├── postgresql
    ├── reconfigure
    ├── redis
    ├── sidekiq
    ├── sshd
    └── unicorn

[[email protected] ~]# tree -L 2 /data/docker/gitlab/
/data/docker/gitlab/
├── config
│   ├── gitlab.rb        // 主要配置文件
│   ├── gitlab-secrets.json
│   ├── ssh_host_ecdsa_key
│   ├── ssh_host_ecdsa_key.pub
│   ├── ssh_host_ed25519_key
│   ├── ssh_host_ed25519_key.pub
│   ├── ssh_host_rsa_key
│   ├── ssh_host_rsa_key.pub
│   └── trusted-certs
├── data
│   ├── backups
│   ├── git-data
│   ├── gitlab-ci
│   ├── gitlab-rails
│   ├── gitlab-shell
│   ├── logrotate
│   ├── postgresql
│   ├── redis
│   └── trusted-certs-directory-hash
└── logs
    ├── gitlab-rails
    ├── gitlab-shell
    ├── logrotate
    ├── postgresql
    ├── reconfigure
    ├── redis
    ├── sidekiq
    ├── sshd
    └── unicorn

以上可以看出里面集成的东西还是挺多的。

5. 登录gitlab

在浏览器输入安装gitlab容器的主机地址,形式 IP:PORT

首次登录设置新密码,然后进入下一页登录界面,用户名:root,密码:<上一页设定的密码 >

后面就可以使用了。

6. 排错

如果初始登录浏览器出现502那么请检查是否端口冲突,修改文件gitlab.rb相关端口项 unicorn[‘port‘] =PORT

也可以根据logs目录中的信息跟踪查询,如果出现GitLab external URL must include a schema and FQDN,请尝试修改gitlab.rb文件中的配置项格式 external_url = ‘gitlab.xxx.com‘ 或者 external_url  ‘http://138.138.82.10‘。

7. 更新GitLab

如果采用上述安装方法,更新变的很简单:停止gitlab容器,删除停止的gitlab容器,获取新镜像,再次使用原来的启动命令启动出一个新gitlab容器即可。不用担心数据丢失,只要挂载目录与之前一致,就会自动读取主机原来的目录下的数据。

附. 常用gitlab命令

gitlab-ctl reconfigure  // 重新应用gitlab的配置
gitlab-ctl restart    // 重启gitlab服务
gitlab-ctl status      // 查看gitlab运行状态
gitlab-ctl stop      // 停止gitlab服务
gitlab-ctl tail     // 查看gitlab运行日志

结束.

转自:https://www.cnblogs.com/ding2016/p/10422605.html

原文地址:https://www.cnblogs.com/zxcnn/p/11502369.html

时间: 2024-08-27 03:13:35

centos7下使用docker安装gitlab【转】的相关文章

centos7下使用docker安装gitlab

环境背景: docker化已经成为一种趋势,记录一下使用docker引擎安装gitlab的过程. 测试环境: 系统 软件 依赖 CentOS 7 GitLab Docker 安装过程: 原文地址:https://www.cnblogs.com/ding2016/p/10422605.html

【docker】 centos7 下 使用docker 安装mysql

1 获取 mysql 镜像 docker pull mysql:5.7 2 创建mysql的镜像,并运行 docker run -d -p 3307:3306 -e [email protected]666 --name codeforphp_mysql mysql:5.7 参数说明 -d 让容器在后台运行 -p 添加主机到容器的端口映射 -e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置 –name 容器的名字,随便取,但是必须唯一 ps: 其实我们可以仅仅使用do

CentOS7.X环境下基于docker安装部署RabbitMQ集群

1.IP地址规划(将信息配置到/etc/hosts中)主机名 IP地址RabbitMQ01 192.168.8.131RabbitMQ02 192.168.8.132RabbitMQ03 192.168.8.133RabbitMQ04 192.168.8.1342.RabbitMQ集群安装(1)四个节点同时运行,下载RabbitMQ镜像[[email protected]~]# docker pull rabbitmq:3-management(2)四个节点分别运行,启动RabbitMQ容器 [

Docker安装Gitlab

一.Ubuntu16.4上Docker安装Gitlab 1.安装docker 参见:https://docs.docker.com/engine/installation/linux/ubuntulinux/ (1)安装ssh sudo apt install vim openssh-client openssh-server (2)安装docker sudo apt-get update sudo apt-get install apt-transport-https ca-certifica

CentOS7下使用Docker容器化.net Core 2.2

原文:CentOS7下使用Docker容器化.net Core 2.2 一.使用 yum 安装(CentOS 7下) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看你当前的内核版本 二.安装 Docker 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE. Docker CE 即社区免费版,Dock

解决 Windows Docker 安装 Gitlab Volume 权限问题

本文首发于我的个人博客,解决 Windows Docker 安装 Gitlab Volume 权限问题 ,欢迎访问! 记录一下 Windows10 下 Docker 安装 Gitlab 的步骤. Caution: We do not officially support running on Docker for Windows. There are known issues with volume permissions, and potentially other unknown issue

Linux安装docker Docker安装gitlab

##Centos7安装docker```#要求CentOS系统的内核版本在 3.10以上,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker1.通过 uname -r 命令查看你当前的内核版本uname -r2.使用 root 权限登录 Centos.确保 yum 包更新到最新.yum -y update3.卸载旧版本(如果安装过旧版本的话)yum remove docker docker-common docker-selinux docker-engine4.安装需要的软

Centos7下Apache详细安装配置及证书申请SSL配置介绍

首先说到Centos大家都已经非常熟悉了,所以我们也就不多介绍关于Centos具体发展了,我们首先知道在Centos7之前版本命令和ReadHat的命令完全一样的,可Centos从6.0版本升级到Centos7版本之后,命令及功能上有了很大的变化,最明显的差别就是从安装的操作界面及操作命令上已经有很大变化了,更不用说功能上的变化了,比如centos6.x版本的iptalbes到centos7的firewall的变化,当然,变化了很多,我也就不多说了,今天呢,主要给大家介绍一下再Centos7下A

Ubuntu下用docker安装redis镜像和使用redis容器分享

Ubuntu下用docker安装redis镜像和使用redis容器分享 1. 安装Ubuntu 2. 用Putty登录Ubuntu Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-40-generic x86_64) * Documentation:  https://help.ubuntu.com/ System information as of Wed Dec 31 06:41:16 UTC 2014 System load:  0.01