Docker仓库用于镜像的存储,是镜像分发、部署的关键。docker
Docker官方提供了公有仓库Docker Hub,国内也有一些公有仓库,咱们也能够本身搭建私有的Docker仓库。安全
Docker默认使用官方的公有仓库Docker Hub,搜索、下载镜像无需帐号,上传镜像则须要帐号认证。bash
相关命令服务器
# 登陆Docker Hub
docker login
# 上传镜像
docker push IMAGE:VERSION
# 搜索镜像
docker search IMAGE
# 下载镜像
docker pull IMAGE
# 从Docker 中国官方镜像加速服务器下载镜像
docker pull registry.docker-cn.com/library/openjdk:11-jre
复制代码
某些场景下,因为网络、安全、网速等缘由,公有仓库并不合适,咱们须要构建本身的私有仓库。Docker官方提供了docker-registry组件,方便咱们快速构建私有镜像。须要注意的是docker-registry如今已经更新到v2版本,而且使用了新的项目名称**docker-distribution
**。网络
Docker官方提供了docker-registry的镜像,直接使用该镜像是最简单的方式。使用如下命令,Docker会自动从Docker Hub拉取docker-registry的镜像,而后启动docker-registry服务,docker-registry默认监听5000端口。curl
docker run -d -p 5000:5000 --restart always --name registry registry:2
复制代码
若是须要设置环境变量,能够使用-e
设置参数。工具
EPEL中已经包含docker-registry的包,经过yum工具能够直接安装。url
yum install -y docker-distribution
复制代码
启动服务、查看服务状态spa
systemctl start docker-distribution && systemctl status docker-distribution
复制代码
To be continued...rest
查看Registry中全部镜像信息(如下示例中,假定私有仓库的ip地址为192.168.100.101)
curl http://192.168.100.101:5000/v2/_catalog
复制代码
上传镜像
docker push 192.168.100.101:5000/<image>:latest
复制代码
从私有仓库下载镜像
docker pull 192.168.100.101:5000/<image>:latest
复制代码
从私有仓库pull镜像并启动
docker run -it 192.168.100.101:5000/<image>:latest
复制代码