基于registry搭建docker私有仓库,如何用命令配置https证书
时间: 2024-12-18 15:20:51 浏览: 6
基于Registry(如Docker Hub、ECS Registry等)搭建私有Docker仓库并配置HTTPS证书通常需要几个步骤:
1. **创建私有Registry**:
- 安装Docker Registry:`sudo docker run -d -p 5000:5000 --restart=always registry:2`
- 登录到Registry容器:`docker exec -it <registry_container_name> sh`
2. **安装Let's Encrypt SSL证书** (如果使用的是自动续期的Certbot):
- 首次设置:`certbot certonly --standalone -n -d example.com -d www.example.com`
- 之后更新证书:`certbot renew --force-renewal`
3. **将SSL证书文件挂载到Registry容器**:
- 获取证书和密钥:`cat /etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem > fullchain.pem privkey.pem`
- 将文件复制到Registry容器:`docker cp fullchain.pem privkey.pem <registry_container_name>:/app/certs/`
4. **修改Registry配置**:
- 进入Registry容器:`docker exec -it <registry_container_name> sh`
- 打开配置文件(通常是`/config/config.yml`),添加HTTPS监听地址和证书路径:
```yaml
https:
addr: :4443
bind_certificates_to_names: true
trusted_ca_file: /app/certs/trusted.crt
tls_cert_file: /app/certs/fullchain.pem
tls_key_file: /app/certs/privkey.pem
```
5. **重启Registry服务**:
- `docker restart <registry_container_name>`
6. **验证HTTPS配置**:
- 使用HTTPS协议访问`https://example.com/v2/_catalog`来确认是否可以正常访问。
阅读全文