在Docker中创建私有仓库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Docker中创建私有仓库相关的知识,希望对你有一定的参考价值。

仓库简介

随着创建的镜像日益增多,就需要有一个保存镜像的地方,这就是仓库。目前有两种仓库:公共仓库和私有仓库。最方便的就是使用公共仓库上传和下载镜像,下载公共仓库中的镜像不需要注册,但上传镜像到公共仓库是需要注册的。公共仓库中填写完成仓库的ID号、邮箱以及登录仓库的密码并在邮件中进行激活就可以上传自己的镜像。

那么怎么构建属于自己的私有仓库呢?可以使用registry来搭建本地私有仓库。

步骤

下载registry镜像

# docker pull registry

技术分享图片
下载完成后的状态:

Using default tag: latest
latest: Pulling from library/registry
4064ffdc82fe: Pull complete 
c12c92d1c5a2: Pull complete 
4fbc9b6835cc: Pull complete 
765973b0f65f: Pull complete 
3968771a7c3a: Pull complete 
Digest: sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8
Status: Downloaded newer image for registry:latest

创建json文件

# vim /etc/docker/daemon.json
{ "insecure-registries":["192.168.177.147:5000"]}   //本地的IP及端口号

技术分享图片

重启服务

# systemctl restart docker.service

==注==:创建完json文件后,一定要重启服务,不然后面可能会出错

创建容器并挂载

# docker create -it registry /bin/bash   //创建容器
# docker ps -a   //查看容器的运行状态
# docker start 67b98e15c857
# docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
//宿主机的/data/registry自动创建挂载容器中的/tmp/registry

技术分享图片

上传镜像

# docker tag jasonlix/docker-cobbler 192.168.177.147:5000/cobbler
//更改标记为192.168.177.147:5000/cobbler
# docker push 192.168.175.145:5000/cobbler
//上传镜像

显示:

The push refers to a repository [192.168.177.147:5000/cobbler]
983c23e6d629: Pushed 
58c8b3d7f322: Pushed 
e6bf41084b0e: Pushed 
eb048cf06c75: Pushed 
34e7b85d83e4: Pushed 
latest: digest: sha256:dfb7b852c32b24b92fc3dff6f559dbf3ab77cbdf1b0247a843ffcddd336f3ab0 size: 1362

获取私有仓库列表

# curl -XGET http://192.168.177.147:5000/v2/_catalog
//获取私有仓库列表

技术分享图片

以上是关于在Docker中创建私有仓库的主要内容,如果未能解决你的问题,请参考以下文章

docker以https方式自建私有镜像仓库harbor

docker私有镜像仓库搭建和镜像删除

docker拉取自建http镜像仓库

在 ubuntu 搭建 docker registry 私有仓库

Cargo 私有仓库部署

如何上传镜像到网易蜂巢docker私有仓库