docker 安装 gitlab
基础准备
下载镜像
docker pull gitlab/gitlab-ce
添加目录
添加 etc data logs 三个目录
[root@mydocker gitlab]# pwd
/root/docker/gitlab
[root@mydocker gitlab]# l
total 0
drwxr-xr-x 2 root root 6 Aug 29 19:57 data/
drwxr-xr-x 2 root root 6 Aug 29 19:57 etc/
drwxr-xr-x 2 root root 6 Aug 29 19:57 logs/
[root@mydocker gitlab]#
启动容器
docker run --dns 8.8.8.8 --detach -p 8090:80 -p 122:22 --name gitlab --restart always --hostname 192.168.299.130 -v/root/docker/gitlab/etc:/etc/gitlab -v /root/docker/gitlab/logs:/var/log/gitlab -v /root/docker/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime:ro --privileged=true 3494787883fd
docker run \
--detach \
--dns 8.8.8.8 # 防止无法访问外网
--publish 122:22
--publish 8443:443 \ # 映射https端口, 不过本文中没有用到
--publish 8090:80 \ # 映射宿主机8090端口到容器中80端口
--publish 8022:22 \ # 映射22端口, 可不配
--name gitlab \
--restart always \
--hostname 10.12.2.22 \ # 局域网宿主机的ip, 如果是公网主机可以写域名
-v /home/software/gitlab/etc:/etc/gitlab \ # 挂载gitlab的配置文件
-v /home/software/gitlab/logs:/var/log/gitlab \ # 挂载gitlab的日志文件
-v /home/software/gitlab/data:/var/opt/gitlab \ # 挂载gitlab的数据
-v /etc/localtime:/etc/localtime:ro \ # 保持宿主机和容器时间同步
--privileged=true beginor/gitlab-ce # 在容器中能以root身份执行操作
此时容器状态为starting,需要等到容器状态为``时才能访问【约需数分钟】
[root@mydocker logs]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
50b9a7e82c64 3494787883fd "/assets/wrapper" 9 minutes ago Up 2 minutes (health: starting) 443/tcp, 0.0.0.0:122->22/tcp, 0.0.0.0:8090->80/tcp gitlab
[root@mydocker logs]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
50b9a7e82c64 3494787883fd "/assets/wrapper" 11 minutes ago Up 4 minutes (healthy) 443/tcp, 0.0.0.0:122->22/tcp, 0.0.0.0:8090->80/tcp gitlab
[root@mydocker logs]#
重置密码
此时可以访问gitlab,然后会跳转到重置密码页面

之后会跳转到登录页面,默认用户名为root

修改为中文


重新登录生效
配置邮箱
进入 etc/gitlab.rb 修改为如下
[root@mydocker etc]# cat gitlab.rb
external_url 'http://192.168.229.130'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_reply_to'] = '邮箱地址@qq.com'
gitlab_rails['gitlab_default_can_create_group'] = false
gitlab_rails['gitlab_username_changing_enabled'] = false
gitlab_rails['gitlab_shell_ssh_port'] = 22
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "邮箱地址@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '邮箱地址@qq.com'
gitlab_rails['smtp_domain'] = "smtp.qq.com"
user['git_user_email'] = "邮箱地址@qq.com"
发送邮箱测试
[root@mydocker ~]# docker exec -it gitlab gitlab-rails console
Loading production environment (Rails 4.2.8)
irb(main):001:0> Notify.test_email('邮箱地址@qq.com', 'Message Subject', 'Message Body').deliver_now
clone 项目
ssh 配置
https://www.cnblogs.com/khlbat2020/p/13661423.html
clone
# git clone ssh://git@ip地址:端口号/local-study/http-request/httpclient-study.git
git clone ssh://git@192.168.1.104:122/local-study/http-request/httpclient-study.git
khlbat

浙公网安备 33010602011771号