1、docker私服仓库搭建
操作:
docker run -d -p 8888:443 -ti --restart=always --privileged=true --name ysdp-registry -v /data/docker/registry:/var/lib/registry -v /root/certs/:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry
错误:
/usr/bin/docker-current: Error response from daemon: Conflict. The container name "/ysdp-registry" is already in use by container f338134741b1aa3b52e4b44d53422318c4941bfc2a97eb48bbc4f2ad5ee99708. You have to remove (or rename) that container to be able to reuse that name..
原因:
已经创建过相同名称的registry
解决方式:
1. 查看docker进程:
docker ps -a
2. 找到 名称为被占用的镜像的containerID,确认无用后删除镜像
docker rm containerID
2、推送镜像到远程docker仓库
操作:
docker push 10.16.211.22:8888/devonline:v3.1.6
错误:
http: server gave HTTP response to HTTPS client
环境:
Docker私服提供http方式,客户端push时启用https协议推送
网上的两种解决方案:
1. Docker私服服务器生成自签名证书并配置证书,启动仓库时指定443端口映射和证书路径
出现的问题:
自签名的证书,在客户端本地远端推送镜像或使用gradle等构建工具自动推送docker私服时,提示:x509: certificate signed by unknown authority 。未知机构签署的证书
2. 网上资料都是配置服务端的daemon.json配置(还是有问题,解决不了客户端push镜像时默认https方式,还是需要支持server端https)
出现的问题:
仍报错:http: server gave HTTP response to HTTPS client
本人尝试后最终解决方式(远端docker私有仓库服务器配置+本地docker配置):
https://blog.csdn.net/fancancan/article/details/85043985
3、
操作:
docker push 10.16.211.22:8888/devonline:v3.1.6
错误:
x509: certificate signed by unknown authority
环境:
Docker私有仓库服务端增加自签名证书,开启支持https协议。
问题:
本地向远端私服推送时提示未知机构签署的证书
解决方式:
1. 购买正规https证书
2. 其他方式寻找中….
————————————