docker私有仓库搭建

私有无认证仓库搭建

第一步:在需要搭建仓库的服务器上安装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

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

本地利用curl 服务器IP:8000/v2/_catalog  查看当前仓库中的存放的镜像列表。(注意打开8000端口访问)

利用私有镜像上传下载镜像

第一步:利用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。

搭建带有认证的仓库

在服务器上:

第一步:删除先前创建的无认证的仓库容器

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

从带认证的仓库上传下载镜像

在本地机器上:

第一步:首先登录到服务器

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就可以访问了

注意这里:47.94.153.230指服务器IP

posted @ 2019-12-30 19:06  鱼虫光  阅读(162)  评论(0编辑  收藏  举报