配置镜像地址
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
查询
yum list docker-ce --showduplicates | sort -r
安装docker
yum -y install docker-ce
启动docker 与 开机自动启动
systemctl start docker
systemctl enable docker
其他docker指令
docker version
sudo pip install docker-compose
docker-compose --version
安装gitlab
1:拉取gitlab镜像
docker pull gitlab/gitlab-ce
2:生成挂载目录
mkdir -p /data/gitlab/etc/gitlab
mkdir -p /data/gitlab/log
mkdir -p /data/gitlab/opt
3:启动容器
将容器/etc/gitlab目录挂载到宿主机/data/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
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
参数说明
-d:后台运行
-p:将容器内部端口向外映射
--name:命名容器名称
-v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
设置ROOT账号密码
这时,gitlab已经跑起来了,通过浏览器能正常访问了,那么问题来了,初始化的管理员账号是什么呢?是 root,那它的密码是什么呢?
我也不知道它的密码是多少,进容器里修改root的密码
谨记原则:复制命令敲回车
- 进入容器
docker exec -it gitlab bash
- 进入bin目录
进入gitlab的bin目录
cd /opt/gitlab/bin
执行命令 执行gitlab-rails console
gitlab-rails console
- 执行命令
找到root的用户,输入u=User.where(id:1).first,然后回车
u=User.where(id:1).first
- 修改密码
修改password,输入u.password=‘12345678’,然后回车
执行命令
u.password_confirmation='12345678'
- 确认密码
执行命令
u.password_confirmation='12345678'
- 保存修改
保存修改,输入u.save,然后回车,等到输出true,这时,密码修改成功
执行命令
u.save
完整操作记录
[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域名
docker exec -it gitlab bash
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
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