首先安装好docker,这是基础,假设你的云主机的公网地址是172.163.10.1
1.在本地下载registry镜像:
docker pull registry
2.使用registry镜像创建一个docker,并设置上传镜像的存放地址:
docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
3.编辑配置文件/etc/default/docker
vim /etc/default/docker
在最后加上下面这句话
DOCKER_OPTS="- - insecure-registry 172.163.10.1"
(如果这个语句错误,docker命令会提示出错)
4.重启docker
service docker restart
5.随便下载一个镜像,比如nginx
docker pull nginx
6.使用docker tag命令将这个镜像标记为172.163.10.1:5000/nginx
docker tag nginx 172.163.10.1:5000/nginx
7.上传到仓库
docker push 172.163.10.1:5000/nginx
8.删除本地镜像172.163.10.1:5000/nginx
docker rmi 172.163.10.1:5000/nginx
9.下载镜像
docker pull 172.163.10.1:5000/nginx
阿里云的安全规则中5000端口我认为是要打开的,不打开可能会有错误,本地是可以进行上传和下载,在其他云主机上下载会产生类似错误:ping: http: server gave HTTP response to HTTPS client。
要想其它主机能够上传镜像到本主机并且能够下载镜像,要在其他主机的/etc/docker目录创建daemon.json文件,并加上相关语句。
cd /etc/docker
touch daemon.json
vim daemon.json
在文件中加上
{ “insecure-registries”:[“172.163.10.1:5000”] }
重启docker服务
service docker restart
这样其他主机就能够在本主机上传和下载镜像了。