docker安装

安装镜像

  1. docker pull gitlab/gitlab-ce:14.1.1-ce.0

新建目录

  1. mkdir -p /home/apps/gitlab/{config,logs,data}

创建并启动

  1. docker run \
  2. -d \
  3. --name gitlab \
  4. --restart=always \
  5. --privileged=true \
  6. -p 443:443 \
  7. -p 6001:6001 \
  8. -p 222:22 \
  9. -v /home/apps/gitlab/config:/etc/gitlab \
  10. -v /home/apps/gitlab/logs:/var/log/gitlab \
  11. -v /home/apps/gitlab/data:/var/opt/gitlab \
  12. gitlab/gitlab-ce:14.1.1-ce.0
  13. # -d:后台运行
  14. # -p:将容器内部端口向外映射
  15. # --name:命名容器名称
  16. # -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
  17. # --privileged=true,以特权方式启动容器,解决报错问题(Permission denied)

修改gitlab.rb

  • 如果gitlab页面访问地址和clone地址一致,可以直接使用external_url,而不必开启nginx[‘listen_addresses’]和nginx[‘listen_port’] ```bash

    gitlab.rb文件内容默认全是注释

    vim /home/apps/gitlab/config/gitlab.rb

git clone地址,不加端口号默认为80

external_url ‘http://192.168.3.11:6001

配置ssh协议所使用的访问地址和端口

gitlab_rails[‘gitlab_ssh_host’] = ‘192.168.3.11’ gitlab_rails[‘gitlab_shell_ssh_port’] = 222 # 此端口是run时22端口映射的222端口

nginx监听地址(gitlab页面访问地址)

nginx[‘listen_addresses’] = [‘*’, ‘[::]’]

容器内部nginx的监听端口

nginx[‘listen_port’] = 6001

:wq #保存配置文件并退出

  1. <a name="yU2Rt"></a>
  2. ### 重启gitlab容器
  3. ```bash
  4. docker restart gitlab

修改管理员密码

进入gitlab容器

  1. docker exec -it gitlab /bin/bash

要重置root密码,首先使用root特权登录到服务器。使用以下命令启动Ruby on Rails控制台

  1. gitlab-rails console -e production

等待控制台加载完毕,搜索电子邮件或用户名

  1. user = User.where(id:1).first
  2. 或者
  3. user = User.find_by(email:'admin@example.com')

修改密码

  1. user.password ='12345678'
  2. user.password_confirmation ='12345678'

保存

  1. user.save!

其它设置

设置中文

  • setting->preferences->Language

    开放6001端口

  • 上面gitlab映射到宿主机为6001端口,所以这里开放6001端口 ```bash

    添加6001端口

    firewall-cmd —zone=public —add-port=6001/tcp —permanent

重新载入

firewall-cmd —reload ```