仓库(Repository)是集中存放镜像文件的场所。
类似于
Maven 仓库,存放各种jar包的地方;github 仓库,存放各种git项目的地方;Docker 公司提供的官方registry被称为Docker Hub,存放各种镜像模板的地方。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等。
本地镜像发布到私有库流程如下:
Docker Registry
是官方提供的工具,可以用于构建私有镜像仓库
Docker Registry也是Docker Hub提供的一个镜像,可以直接拉取运行。
拉取 Docker Registry
执行命令
docker pull registry
运行私有库 Docker Registry
默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调
docker run -d -p 5000:5000 -v /app/myregistry/:/tmp/registry --privileged=true registry
查看私服中的所有镜像
curl http://192.168.xxx.xxx:5000/v2/_catalog
执行命令,Registry会返回json格式的所有镜像目录
修改/etc/docker/daemon.json
,添加insecure-registries
允许http:
{
"registry-mirros": ["https://xxxx.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.xxx.xxx:5000"]
}
然后重启docker,使配置生效
# centos6 的命令
sudo chkconfig daemon-reload
sudo service docker restart
# centos7 的命令
sudo systemctl daemon-reload
sudo systemctl restart docker
添加一个对应私仓地址的tag(以myubuntu:1.0.1镜像为例)
将镜像myubuntu:1.0.1修改符合私服规范的Tag
docker tag myubuntu:1.0.1 192.168.xxx.xxx:5000/myubuntu:1.0.1
docker push
docker push 192.168.xxx.xxx:5000/myubuntu:1.0.1
查看私仓中镜像目录验证
curl http://192.168.xxx.xxx:5000/v2/_catalog
pull到本地并运行
docker pull 192.169.xxx.xxx:5000/myubuntu:1.0.1
以上就是 【初识 Docker | 基础篇】 Docker 搭建仓库 的全部内容啦!
创作不易,关注💖、点赞👍、收藏🎉就是对作者最大的鼓励👏,欢迎在下方评论留言🧐