首页 技术交流 desktop docker下安装gitlab代码管理服务器 正文

desktop docker下安装gitlab代码管理服务器

发布日期:2021年10月19日 16:27        阅读次数:582

需要对docker进行两个设置:

     第一:

内存尽量调大,disk image指向一个不是系统盘的盘符下。

第二:设置挂载映射的盘符


只有设置了这个,下面容器挂载才能生效。

   

下面开始进行到安装的步骤


第一步:首先拉取镜像(CE 即社区免费版, EE 即企业版,需付费使用。

docker pull gitlab/gitlab-ce

第二步:docker通过镜像构建容器

正常代码:

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

  说明:

--detach: 设置容器后台运行
--hostname: 设置容器的 hostname
--publish: 端口转发规则
(
22: SSH访问端口,
80:Http 访问端口,
443:Https 访问端口,
-----------------------------
自定义GitLab端口转发规则
2222:Docker 容器的 SSH 访问端口,
8888:Docker 容器的 Http 访问端口,
8443:Docker 容器的 Https 访问端口,
)
--name:容器名称
--restart always:每次启动容器就重启GitLab
--volume: 共享目录挂载,即 docker 容器内外数据共享
(
/docker/gitlab/data: 应用程序数据,
/docker/gitlab/logs:GitLab 的 log,
/docker/gitlab/config:GitLab 的配置文件)

   注意:所有:左边都代表宿主主机,例如-p 8888:80表示容器的80端口映射到宿主机器的8888端口。   --volume /d/docker/gitlab/logs:/var/log/gitlab代表容器的/var/log/gitlab文件挂载到宿主主机的d:/docker/gitlab/logs目录。

但是安装以上build代码执行会出现各种的权限问题,推测是因为挂载到宿主机器的文件权限问题。最后搜索了相关资料,有人也遇到了类似问题,说的是window环境下 /etc/gitlab和/var/opt/gitlab是无法挂载的,所以我把这两个挂载去掉了,变成以下:

docker run --detach --publish 443:443 --publish 801:80 --publish 22:22 --name gitlab --restart always  --volume /d/docker/gitlab/logs:/var/log/gitlab  gitlab/gitlab-ce:latest

 大概等待了几分钟,此次容器创建成果,并且可以打开。


然后发现无法登录,所以开始找如何设置用户名密码,默认用户是root,开始重置root的密码:

执行代码:docker exec -it gitlab /bin/bash 进入到gitlab容器(注意,我的容器名称为gitlab),进入后,需要以下三个代码:

cd /opt/gitlab/bin
gitlab-rails console
u=User.where(id:1).first
u.password='12345678'
u.password_confirmation='12345678'
u.save

   执行效果:

如是,密码更改为123456.            

下面是更改密码的详细步骤:

1 进入容器
2 进入gitlab的bin目录

cd /opt/gitlab/bin

3 执行gitlab-rails console

root@gitlab:/opt/gitlab/bin# gitlab-rails console--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       14.0.2 (bac4ee4a9e2) FOSS
 GitLab Shell: 13.19.0
 PostgreSQL:   12.6--------------------------------------------------------------------------------Loading production environment (Rails 6.1.3.2)irb(main):001:0>

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

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

5 修改password,输入u.password='12345678',然后回车

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

6 修改确认密码

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

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

irb(main):005:0> u.saveEnqueued ActionMailer::MailDeliveryJob (Job ID: d4c64606-0597-46ae-a7b5-fa9bb01c2685) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007fe59ae70c98 @uri=#<URI::GID gid://gitlab/User/1>>]}=> true

至此,密码修改成功,可以用12345678密码登录进去了



作者:程空万里
链接:https://www.jianshu.com/p/f1371ab3f83c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

                

评论:

共 0 页 0 条记录,当前为第 1 页