创建目录
我在/data/gitlab/下创建了config、data、logs三个目录
cd /data/gitlab
mkdir config data logs
安装Gitlab
直接启动gitlab会自动下载镜像,将gitlab的配置、日志、数据目录挂载我们创建的目录,自定义端口映射
docker run -d -p 8880:8880 -p 8822:22 --name=gitlab --restart=always --privileged=true \
-v /data/gitlab/config:/etc/gitlab \
-v /data/gitlab/logs:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
twang2218/gitlab-ce-zh:latest
登录Gitlab
启动后游览器访问Gitlab,注意你映射的端口,设置个密码,默认账户为root,最少8位数
修改后会跳转登录界面,账户root,密码是刚刚设置的密码
创建项目后会发现仓库连接不是IP地址,是我们的容器ID
修改配置
我们最开始已经把容器的配置、日志、数据目录都映射到我们宿主机的/data/gitlab/下了
直接在宿主机上进入/data/gitlab/config下修改配置
vi /data/gitlab/config/gitlab.rb
通过斜杠快速定位到external_url位置,修改成你的服务器IP或者域名
external_url 'http://192.168.170.111:8880'
接着定位到gitlab_rails,修改SSH协议的地址,修改成你的服务器IP或域名
gitlab_rails['gitlab_ssh_host'] = '192.168.170.111'
#顺手把时间也改成上海时间
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#SSH端口,默认是22,我们改成了8822
gitlab_rails['gitlab_shell_ssh_port'] = 8822
修改nginx,默认端口是80,我们改成了8880
nginx['listen_port'] = 8880
nginx['redirect_http_to_https_port'] = 8880
还可以配置一下邮箱
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'monster@sz-ysxd.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "monster@sz-ysxd.com"
gitlab_rails['smtp_password'] = "xxxxxxxxxxxx"
gitlab_rails['smtp_domain'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
重启容器
重启容器让配置生效
docker restart gitlab
登录Gitlab进入项目查看地址,HTTP和SSH协议地址都变过来了
邮箱配置完还需进入管理-服务模块-Email on push-激活
创建用户就可以发送邮件重置链接将自动生成临时密码发送给用户。用户在第一次登录后需要强制修改密码。
评论区