最近想尝试一下极狐GitLab(可以理解为 GitLab 在中国的发行版)内置的容器镜像仓库,这样就不用自己安装 Harbor 之类的了。于是找了个服务器安装了一个极狐GitLab 的私有化部署版本,安装过程可以参考过往的技术文章使用Omnibus 安装极狐GitLab。
极狐GitLab 私有化实例部署成功以后,接下来就需要启用内置的容器镜像仓库了。需要在 /etc/gitlab/gitlab.rb 文件中对于容器仓库的配置内容进行修改:
registry_nginx['enable'] = true
registry_nginx['listen_port'] = 5050
registry_external_url 'http://jihu-instance.url:5050'
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] = "jihu-instance.url"
gitlab_rails['registry_port'] = "5005"
gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry"
为了使用上的安全,想给容器镜像仓库启用 HTTPS,所以需要配置 SSL 证书。在这个过程中,使用自签名的证书,以下三个命令即可生成对应的 csr、cert 和 key,将生成在证书都放在 /etc/gitlab/ssl 目录下面,注意 ssl 目录的权限应该为 755.
$ openssl genrsa -out ca.key 2048
$ openssl req -new -x509 -days 365 -key ca.key -s