极狐GitLab 正式推出面向 GitLab 老旧版本(12.x、13.x、14.x、15.x 等)免费用户的专业升级服务,点击查看详情

返回列表 发布新帖

gitlab 配置内置的容器镜像仓库

758 0
发表于 2024-5-11 21:37:09 | 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 fanrui 于 2024-5-11 22:04 编辑

# 为自定义域名 gitlab.fanrui.com 生成自定义证书
# 当前将证书相关文件放在/etc/gitlab/ssl 下
# 参考文档后半部分的补充资料

# 修改配置文件
sudo vim /etc/gitlab/gitlab.rb
# https://gitlab.fanrui.com:5050 为了避免和gitlab实例冲突,所以添加一个5050端口
registry_external_url 'https://gitlab.fanrui.com:5050'
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.fanrui.com.crt"
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.fanrui.com.key"
# 客户端配置证书
# 简述: 上述配置的是容器镜像仓库,但其他机器如果想要使用docker login 登录的话,
# 就需要以下几个步骤步骤
# 1. 在其他机器上创建文件夹,注意最终的文件名为:域名:端口,尽管名字看起来很奇怪
mkdir -p /etc/docker/cert.d/域名:端口
# 2. 然后将步骤3生成的各种文件全部复制到 /etc/docker/cert.d/域名:端口 文件夹下
cd /etc/gitlab/ssl/
cp * /etc/docker/cert.d/域名:端口
# 3. 进入 /etc/docker/cert.d/域名:端口 文件夹,将crt文件 转换为 cert 文件
cd /etc/docker/cert.d/域名:端口
cp ca.crt ca.cert
...
...
# 4. 重启docker
sudo systemctl restart docker
# 5. 尝试登录
docker login -u root -p 你的密码  你的仓库地址(我这里的地址是:https://gitlab.fanrui.com:5050


补充资料:

# 更新系统包
1.  sudo apt update && sudo apt upgrade  
# 验证是否已安装 OpenSSL
2.  openssl version
# 生成私钥
3.  openssl genrsa -out server.key 2048  
# openssl genrsa -out ca.key 2048

# 创建证书签名请求(CSR)
4.  openssl req -new -key server.key -out server.csr
    #Please enter the following 'extra' attributes
    # openssl req -new -x509 -days 3650 -key ca.key -subj "/C=CN/ST=广东/L=深圳/O=樊瑞测试/OU=樊瑞测试/CN=gitlab.fanrui.com/emailAddress=fanrui@fanrui.com.cn" -out ca.crt -utf8
                # openssl req -newkey rsa:2048 -nodes -keyout server.key -subj "/C=CN/ST=广东/L=深圳/O=樊瑞测试/CN=gitlab.fanrui.com" -out server.csr -utf8
                # openssl x509 -req -extfile <(printf "subjectAltName=DNS:gitlab.fanrui.com") -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt

    #to be sent with your certificate request
    #A challenge password []:Fan__246Lu
# 创建自签名证书:
5. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
一共生成以下文件:
ca.crt  ca.key  server.crt  server.csr  server.key
将server开头文件cp 出 两个新文件 gitlab.fanrui.com.crt  gitlab.fanrui.com.key

# 移动到系统证书目录下
/usr/share/ca-certificates
# 执行更新
update-ca-certificates


文章纯粹瞎琢磨,写的不清楚的地方,可以留言交流。










回复

使用道具 举报

意见建议

Email:forum@gitlab.cn
  • 关注公众号
  • 添加专业顾问
Copyright © 2001-2024 极狐GitLab论坛 版权所有 All Rights Reserved. 鄂ICP备2021008419号-1|鄂公网安备42018502006137号
关灯 快速发帖
扫一扫添加专业顾问
返回顶部
快速回复 返回顶部 返回列表