配置镜像地址

1
2
3


yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo

查询

1
2
3


yum list docker-ce --showduplicates | sort -r

安装docker

1
2
3


yum -y install docker-ce

启动docker 与 开机自动启动

1
2
3
4
5
6


systemctl start docker


systemctl enable docker

其他docker指令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12


docker version





sudo pip install docker-compose


docker-compose --version

安装gitlab

1:拉取gitlab镜像

1
2
3


docker pull gitlab/gitlab-ce  

2:生成挂载目录

1
2
3
4
5
6
7
8
9


mkdir -p /data/gitlab/etc/gitlab


mkdir -p /data/gitlab/log


mkdir -p /data/gitlab/opt

3:启动容器

将容器/etc/gitlab目录挂载到宿主机/data/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建

1
2
3


docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /data/gitlab/etc:/etc/gitlab -v /data/gitlab/log:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce

参数说明

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12


-d:后台运行


-p:将容器内部端口向外映射


--name:命名容器名称


-v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

设置ROOT账号密码

这时,gitlab已经跑起来了,通过浏览器能正常访问了,那么问题来了,初始化的管理员账号是什么呢?是 root,那它的密码是什么呢?

我也不知道它的密码是多少,进容器里修改root的密码

谨记原则:复制命令敲回车

  1. 进入容器
1
2
3


docker exec -it gitlab bash
  1. 进入bin目录

 进入gitlab的bin目录

1
2
3


cd /opt/gitlab/bin
  1. 执行命令 执行gitlab-rails console
1
2
3


gitlab-rails console
  1. 执行命令

找到root的用户,输入u=User.where(id:1).first,然后回车

1
2
3


u=User.where(id:1).first
  1. 修改密码

修改password,输入u.password=‘12345678’,然后回车

执行命令

1
2
3


u.password_confirmation='12345678'
  1. 确认密码

执行命令

1
2
3


u.password_confirmation='12345678'
  1. 保存修改

保存修改,输入u.save,然后回车,等到输出true,这时,密码修改成功

执行命令

1
2
3


u.save

完整操作记录

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60


[root@localhost ~]# docker exec -it gitlab bash


root@host-name:/# cd /opt/gitlab/bin


root@host-name:/opt/gitlab/bin#  gitlab-rails console


--------------------------------------------------------------------------------


 Ruby:         ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]


 GitLab:       14.5.0 (f8796c0836e) FOSS


 GitLab Shell: 13.22.0


 PostgreSQL:   12.7


--------------------------------------------------------------------------------


Loading production environment (Rails 6.1.4.1)


irb(main):001:0> u=User.where(id:1).first


=> #<User id:1 @root>


irb(main):002:0> u.password='12345678'


=> "12345678"


irb(main):003:0>  u.password_confirmation='12345678'


=> "12345678"


irb(main):004:0> u.save


Enqueued ActionMailer::MailDeliveryJob (Job ID: aefddd21-8386-465a-8bb8-d0373adef725) to Sidekiq(mailers) with a:0x00007fe8ca55a978 @uri=#<URI::GID gid://gitlab/User/1>>]}


=> true


irb(main):005:0> exit

修改gitlab域名

1
2
3
4
5
6


docker exec -it gitlab bash


vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15


  gitlab:


    ## Web server settings (note: host is the FQDN, do not include http://)


    host: 192.168.1.200


    port: 8090


 ssh_host: 192.168.1.200

将gitlab设置为中文版