Docker之仓库
一 Docker 仓库简介
1 什么是Docker仓库
• Docker仓库就是存放docker镜像并有docker pull方法下载的云环境
• Docker仓库分为公有仓库和私有仓库。
公有仓库指Docker Hub(官方)等开放给用户使用、允许用户管理镜像。
私有仓库指由用户自行搭建的存放镜像的云环境。
二 Docker 私有仓库搭建
1 搭建无认证私有仓库
docker pull registry
docker run -d -ti --restart always\
--name my-registry\
-p 8000:5000\
-v /my-registry/registry:/var/lib/registry\
registry
2 私有仓库–上传、下载镜像
docker tag IMAGE 服务器IP:端口/IMAGE_NAME
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
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 ip:8000
docker logout ip:8000
5 总结
1 拉取私有仓库镜像
docker pull registry
2 启动容器
docker run -di --name=registry -p 5000:5000 registry
3 打开浏览器 输入地址http://ip:port/v2/_catalog看到{"repositories":[]} 表示私有仓库搭建成功并且内容为空
4 配置
修改daemon.json
vi /etc/docker/daemon.json
添加以下内容,保存退出。
{"insecure-registries":["ip:port"]}
此步用于让 docker信任私有仓库地址
5 重启docker 服务
systemctl restart docker
6 重启容器
docker start registry
7 打标签
docker tag 镜像id ip:port/镜像名
8 上传到私有仓库
docker push ip:port/镜像名
9 从私有仓库拉取镜像
docker pull ip:port/镜像名