Docker安装gitlab-ce

本文详细介绍了如何使用Docker部署GitLab,并配置SMTP邮箱服务以实现邮件通知功能。包括运行Docker容器的指令、GitLab的启动过程、密码设置、版本检查以及邮箱配置的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行指令:

docker run -d \
    --name gitlab \
    -p 30443:443 -p 30080:80 -p 30022:22 \
    --restart=always \
    -v /home/docker/gitlab/config:/etc/gitlab \
    -v /home/docker/gitlab/logs:/var/log/gitlab \
    -v /home/docker/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce

启动过程比较漫长,耐心等待。。。。。。,启动成功,提示修改密码:

设置好密码后,用root账号登录:

查看gitlab版本号:

docker exec gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

邮箱配置,编辑配置文件:

vi /etc/gitlab/gitlab.rb

取消下面配置注释,并配置为正确值 :

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@maxwoods.net'
gitlab_rails['gitlab_email_display_name'] = 'gitlab'
gitlab_rails['gitlab_email_reply_to'] = 'gitlab@maxwoods.net'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.maxwoods.net"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@maxwoods.net"
gitlab_rails['smtp_password'] = "your password"
gitlab_rails['smtp_domain'] = "smtp.maxwoods.net"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = false

如果是阿里云服务器禁用了25端口,则改用下面配置:

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@maxwoods.net'
gitlab_rails['gitlab_email_display_name'] = 'gitlab'
gitlab_rails['gitlab_email_reply_to'] = 'gitlab@maxwoods.net'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@maxwoods.net"
gitlab_rails['smtp_password'] = "your password"
gitlab_rails['smtp_domain'] = "smtp.maxwoods.net"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

更新配置:

gitlab-ctl reconfigure

重启:

gitlab-ctl restart

运行控制台:

gitlab-rails console

输入下面指令,看看是否是smtp发送邮件:

ActionMailer::Base.delivery_method

查看邮件发送配置:

ActionMailer::Base.smtp_settings

测试邮件发送:

Notify.test_email('someemail@qq.com', 'gitlab test mail', 'This is from gitlab mail test!').deliver_now

关于external_url设定端口和容器映射端口不一致的问题,假设配置如下:

external_url 'http://35.220.133.116:30080'

容器映射为80到宿主机30080,这时修改启动容器是无法访问的,最简单的方法是删除原容器,保留映射卷的内容,重新创建容器,同时修改端口号映射:

docker run -d \
    --name gitlab \
    -p 30443:443 -p 30080:30080 -p 30022:22 \
    --restart=always \
    -v /home/docker/gitlab/config:/etc/gitlab \
    -v /home/docker/gitlab/logs:/var/log/gitlab \
    -v /home/docker/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

螃蟹就是横着走

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值