本机ip:xx.97.74.xxx
uname -r 命令查看你当前的内核版本建议3以上
更新yum 命令:yum update
安装docker命令:yum install docker
安装完成更换镜像下载地址命令:vi /etc/docker/daemon.json
内容更换为 {"registry-mirrors": ["br10hqrl.mirror.aliyuncs.com"]}后保存退出启动docker
命令:service docker restart
开始搭建仓库
拉取仓库镜像命令:docker pull registry
创建挂在数据的目录:mkdir -p /home/registry
运行registry镜像:docker run -d -v /home/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry
去浏览器查看http://xx.97.74.xxx:5000/v2
此时浏览器内容应该展示{}
接下去去我们将系统已有的镜像push到registry
拉个镜像验证:docker pull mysql:8.0.16
push镜像前要先打个tag标签
命令:docker tag mysql:8.0.16 xx.97.74.xxx:5000/mysql:test_v1
push到registry命令:docker push xx.97.74.xxx:5000/mysql:test_v1
此时无法push成功系统提示
Get xx.97.74.xxx:5000/v1/_ping: http: server gave HTTP response to HTTPS client
需要https的方法才能上传,我们可以修改下daemon.json来解决
命令:vi /etc/docker/daemon.json
{"registry-mirrors": ["br10hqrl.mirror.aliyuncs.com"],"insecure-registries": [ "xx.97.74.xxx:5000"]}
内容修改如上,重启docker在次执行push命令:docker push xx.97.74.xxx:5000/mysql:test_v1
此时已没报错,push成功后 查看http://xx.97.74.xxx:5000/v2/_catalog
此时应该展示出数据 {"repositories":["mysql"]}
此时去别的机器上测试一下:curl xx.97.74.xxx:5000/v2/_catalog
展示出数据 {"repositories":["mysql"]}
列出mysql镜像有哪些tag,命令:
curl xx.97.74.xxx:5000/v2/mysql/ta…
展示出的数据 {"name":"mysql","tags":["test_v1"]}
此时pull镜像:docker pull xx.97.74.xxx:5000/mysql:test_v1
遇到和之前一样的错误需要https的方法才能上传,同理我们可以修改这台机器的daemon.json来解决
命令:vi /etc/docker/daemon.json
{"registry-mirrors": ["br10hqrl.mirror.aliyuncs.com"],"insecure-registries": [ "xx.97.74.xxx:5000"]}
内容修改如上,重启docker在次执行push命令
命令:docker pull xx.97.74.xxx:5000/mysql:test_v1
此时就不会报错并且拉取下来了 测试完成.