docker仓库

一、简介

1、Docker仓库就是存放docker镜像并有docker pull方法下载的云环境

2、Docker仓库分为公有仓库和私有仓库

①公有仓库指Docker Hub(官方)等开放给用户使用、允许用户管理镜像

②私有仓库指由用户自行搭建的存放镜像的云环境

二、Docker私有仓库搭建

1、搭建无认证私有仓库

①在需要搭建仓库的服务器上安装docker

②在服务器上,从docker hub下载registry仓库:docker pull registry

③在服务器上,启动仓库:docker run -d -ti --restart always --name my-registry -p 8000:5000 -v /my-registry/registry:/var/lib/registry registry

④、本地查看当前仓库中的存放的镜像列表:curl 服务器IP:8000/v2/_catalog

⑤、注意:registry内部对外开放端口是5000,默认情况下,会镜像存放于容器内的/var/lib/registry(官网Dockerfile中查看)目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失

2、私有仓库上传、下载镜像

①利用docker tag重命名需要上传的镜像:docker tag IMAGE 服务器IP:端口/IMAGE_NAME

②利用docker push上传刚刚重命名的镜像:docker push 服务器IP:端口/centos

③必须重命名为服务器IP:端口/IMAGE_NAME

④如果push出现了类似https的错误那么需要往配置文件/etc/docker/daemon.json里添加:”insecure-registries”:[“服务器IP:端口”],然后重启docker

3、搭建带认证的私有仓库

①在服务器上删除先前创建的无认证的仓库容器:docker rm -f my-registry

②创建存放认证用户名和密码的文件:mkdir /my-registry/auth -p

③创建密码验证文件,注意要将USERNAME和PASSWORD替换为设置的用户名和密码:docker run --entrypoint htpasswd registry -Bbn USERNAME PASSWORD > /my-registry/auth/htpasswd

④重新启动仓库镜像:docker run -d -p 8000:5000 --restart=always --name docker-registry -v /my-registry/registry:/var/lib/registry -v /my-registry/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry

4、带认证的私有仓库上传、下载镜像

①在本地机器上首先登录到服务器:docker login -u username -p password 47.94.153.230:8000

②然后执行pull或者push命令

③操作完毕后,可以退出登录:docker logout 47.94.153.230:8000

④如果想查看仓库中已有的镜像,那么需要进行http验证才可以,可以直接借助浏览器访问47.94.153.230:8000/v2/_catalog就可以访问了

posted @ 2020-09-13 17:09  专业搬砖人士  阅读(404)  评论(0)    收藏  举报