Docker 仓库

仓库(Repository)是集中存放镜像文件的场所。

类似于
Maven 仓库,存放各种jar包的地方;github 仓库,存放各种git项目的地方;Docker 公司提供的官方registry被称为Docker Hub,存放各种镜像模板的地方。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等。

本地镜像发布到私有库流程如下:

一、Registry 搭建私有仓库

Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

1.搭建环境

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格式的所有镜像目录

二、向 Registry 上传镜像

1.配置docker允许接收http请求

修改/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

2.push推送到私服库

添加一个对应私仓地址的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 搭建仓库 的全部内容啦!

创作不易,关注💖、点赞👍、收藏🎉就是对作者最大的鼓励👏,欢迎在下方评论留言🧐

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐