基于docker搭建gitlab

目录

1、准备工作

2、安装docker-ce

3、下载文件镜像

4、创建所需目录

5、运行gitlab容器

6、修改/mnt/gitlab/etc/gitlab.rb

7、修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

8、重启docker

9、访问gitlab的web界面


1、准备工作

linux服务器:centos7.5(建议内存至少2G以上)

2、安装docker-ce

        docker安装有很多种方法,具体可以参考链接进行安装,我们使用如下方式进行安装(如果磁盘或者内存不大的话,建议大家可以手动安装):

  •    需要的安装包
yum install -y yum-utils
  • 设置阿里云镜像(推荐使用阿里云的)
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  •  更新yum软件包索引
yum makecache fast
  •  安装docker(docker-ce-社区办的 | ee -企业版)
yum install docker-ce docker-ce-cli  cintainerd.io
  •  启动Docker服务
systemctl start docker
  •  查看是否启动成功
docker -version

基于docker搭建gitlab_第1张图片

  •  测试hello-world
docker run hello-world

 查看一下Hellow word 的镜像

docker images

3、下载文件镜像

docker search gitlab
docker pull gitlab/gitlab-ce

注意:一定要配置阿里云的加速镜像

4、创建所需目录

创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。

mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

5、运行gitlab容器

docker run -d -h gitlab -p 2222:22 -p 8090:80 -p 8443:443 \
   -v /mnt/gitlab/etc:/etc/gitlab \
   -v /mnt/gitlab/log:/var/log/gitlab \
   -v /mnt/gitlab/data:/var/opt/gitlab \
   --restart always --name mygitlab gitlab/gitlab-ce:latest

 查看容器id 

docker ps

停止docker容器

Docker stop 容器id

删除容器

Docker rm 容器id

6、修改/mnt/gitlab/etc/gitlab.rb

vi /mnt/gitlab/etc/gitlab.rb

把external_url改成部署机器的域名或者IP地址

external_url 'http://IP名称'

7、修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

vi /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

基于docker搭建gitlab_第2张图片

8、重启docker

systemctl restart docker

 重启完成后执行步骤4,运行docker

9、访问gitlab的web界面

访问地址http://ip:8090进行访问,界面如下:

基于docker搭建gitlab_第3张图片

        默认用户名是root,密码在/mnt/gitlab/etc/initial_root_password文件中找到密码,然后输入登进去以后修改密码即可

注意:如果初始化密码没有登录进去或者忘记密码了,可以用如下办法解决:

  • 进入gitlab容器
docker exec -it mygitlab bash
  •  切换到git用户
su - git
  • 进入gitlab控制台
gitlab-rails console  production

 或者(不同版本有区别)

gitlab-rails console -e production
  • 查询gitlab超管用户信息
 user = User.where(id:1).first

重置密码(密码随便设置)

user.password='root@123456'

 确认密码

user.password_confirmation='root@123456' 

 两次密码要一致

执行如下命令保存密码

user.save!
  • 登录
  • 用户名:root   密码刚刚设置的密码root@123456

你可能感兴趣的:(gitlab,docker,容器,运维,git)