搭建并使用gitlab
1. 下载docker镜像
-
查询docker镜像gitlab-ce(社区版本)
[root@hao ~]# docker search gitlab-ce NAME DESCRIPTION STARS OFFICIAL AUTOMATED rapidfort/gitlab-ce 12 drud/gitlab-ce 18 gitlab/gitlab-ce GitLab Community Edition docker image based … 4052 [OK]
-
下载镜像gitlab/gitlab-ce
[root@hao ~]# docker pull gitlab/gitlab-ce Using default tag: latest latest: Pulling from gitlab/gitlab-ce 7b1a6ab2e44d: Already exists 6c37b8f20a77: Pull complete f50912690f18: Pull complete bb6bfd78fa06: Pull complete 2c03ae575fcd: Pull complete 839c111a7d43: Pull complete 4989fee924bc: Pull complete 666a7fb30a46: Pull complete Digest: sha256:5a0b03f09ab2f2634ecc6bfeb41521d19329cf4c9bbf330227117c048e7b5163 Status: Downloaded newer image for gitlab/gitlab-ce:latest docker.io/gitlab/gitlab-ce:latest
创建docker容器
-
创建与docker容器里面文件的映射文件
-
创建gitlab文件夹以及子文件夹config,logs,data
[root@hao /usr/local/software]# mkdir -p gitlab/data gitlab/config gitlab/logs [root@hao /usr/local/software/gitlab]# tree . ├── config ├── data └── logs 3 directories, 0 files
-
-
创建运行容器
docker run -it \ --hostname 192.168.133.100 \ --name gitlab \ -p 443:443 -p 80:80 -p 23:22 \ --network wn_docker_net \ --ip 172.18.12.50 \ -v /usr/local/softwares/gitlab/config:/etc/gitlab \ -v /usr/local/softwares/gitlab/logs:/var/log/gitlab \ -v /usr/local/softwares/gitlab/data:/var/opt/gitlab \ -d gitlab/gitlab-ce
[root@hao /usr/local/software/gitlab]# docker run -it \ > --hostname 192.168.133.100 \ > --name gitlab \ > -p 443:443 -p 80:80 -p 23:22 \ > --network wn_docker_net \ > --ip 172.18.12.50 \ > -v /usr/local/softwares/gitlab/config:/etc/gitlab \ > -v /usr/local/softwares/gitlab/logs:/var/log/gitlab \ > -v /usr/local/softwares/gitlab/data:/var/opt/gitlab \ > -d gitlab/gitlab-ce 20ca1de6f9f701ad229afdf4c4ddf3edc3878fabca21b5a1e216a2ba2e03393c [root@hao /usr/local/software/gitlab]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 20ca1de6f9f7 gitlab/gitlab-ce "/assets/wrapper" 7 seconds ago Up 5 seconds (health: starting) 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:23->22/tcp, :::23->22/tcp gitlab 63f68b0a8bf7 rabbitmq "docker-entrypoint.s…" 12 hours ago Up 12 hours 4369/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp rabbitmq 71d7bcd9cd20 redis "docker-entrypoint.s…" 16 hours ago Up 15 hours 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis_6379 bdea2daef123 mysql "docker-entrypoint.s…" 5 days ago Up 41 hours 33060/tcp, 0.0.0.0:3311->3306/tcp, :::3311->3306/tcp mysql_3311 03ea7f407ddc mysql "docker-entrypoint.s…" 5 days ago Up 41 hours 33060/tcp, 0.0.0.0:3310->3306/tcp, :::3310->3306/tcp mysql_3310 19b9bd15d24e mysql "docker-entrypoint.s…" 5 days ago Up 41 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql_3306
配置gitlab
-
访问http://192.168.133.100 linux主机ip地址
-
设置账号密码
- 进入容器内部:
[root@hao /usr/local/software/gitlab]# docker exec -it gitlab bash root@192:/# gitlab-rails console -------------------------------------------------------------------------------- Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux] GitLab: 14.6.1 (661d663ab2b) FOSS GitLab Shell: 13.22.1 PostgreSQL: 12.7 -------------------------------------------------------------------------------- Loading production environment (Rails 6.1.4.1) irb(main):001:0>
- 设置账号密码:
user=User.find_by_username 'root' user.password='88888888' user.save!
Loading production environment (Rails 6.1.4.1) irb(main):001:0> user=User.find_by_username 'root' => #<User id:1 @root> irb(main):002:0> user.password='88888888' => "88888888" irb(main):003:0> user.save! => true
-
登录成功
-
关闭自动注册功能
- Settings->Geneal->Sign-up restrictions
-
创建User用户
- 在Admin下点击Admin Area --> Users
-
给指定用户添加密码
-
使用新用户登录
新建gitlab仓库
-
使用root用户登录,在gitlab上创建仓库
-
在idea中clone对应的链接即可