Linux环境中搭建Docker私有镜像仓库

Linux环境中搭建Docker私有镜像仓库

精选文章moguli202025-01-20 10:20:0530A+A-

简介:本文将对镜像、仓库、容器的概念与三者之间的联系进行详细介绍,重点介绍Docker私有仓库的搭建与管理操作。

1、Docker镜像是一个只读的模板,含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。比如,一个镜像可以包含一个运行在Apache上的Web应用和其使用的CentOS操作系统。镜像是用来创建容器的。Docker提供了简单的方法来建立新的镜像或者升级现有的镜像,也可以下载别人已经创建好的镜像。Docker镜像是Docker的构造部分。

2、Docker容器是容器镜像的运行实例。容器镜像是一个不可变的只读文件,其中包含有关创建Docker容器的说明。每次基于容器镜像文件启动容器时,无论在何处部署容器镜像文件,都将获得完全相同的Docker容器。

3、Docker仓库,Registry可以理解为仓库,是用来保存所有创建好的镜像统一存储的位置。分为私有仓库(Private Registry)和公有仓库(Public Registry)。公有的Docker仓库名字是Docker Hub。Docker Hub提供了庞大的镜像集合供使用。这些镜像可以是自己创建的,或者也可以在别人的镜像基础上创建。Docker仓库是Docker的分发部分。

Dockers不仅提供了一个公有仓库,同时也允许使用registry搭建本地私有仓库。使用私有仓库有许多优点:节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可。同时方便管理,使用高效。

详细情况请参考下文。

一、安装Docker容器

1、登陆Linux系统

2、更新yum包

执行指令# yum update更新yum包

3、安装依赖包

执行指令# yum install -y yum-utils device-mapper-persistent-data lvm2安装需要的软件包

4、设置yum源

执行指令# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo设置仓库

5、查看Docker仓库

执行指令# yum list docker-ce --showduplicates | sort -r

6、安装Docker

执行指令# yum install docker-ce-18.03.1.ce安装docker

7、启动Docker

执行指令# systemctl start docker 启动docker

执行指令# systemctl enable docker 设置开机启动

8、查看Docker运行情况

执行指令# systemctl status docker

执行指令# docker version查看docker版本信息

二、Docker搭建私有仓库

1、运行并创建私有仓库

创建私有库的执行指令如下:

docker run -d \

-v /opt/registry:/var/lib/registry \

-p 5000:5000 \

--restart=always \

--name registry \

registry

上述指令的参数说明如下:

-d 后台运行容器

-v 本地目录:容器目录,挂载主机的本地目录/opt/registry目录到容器的/var/lib/registry目录,本地目录的路径必须是绝对路径

-p 5000:5000指定主机的5000端口映射到容器的5000端口

执行指令# docker ps -a查看运行的容器

2、配置Docker可信任私有库

执行指令# vim /etc/docker/daemon.json

3、私有仓库查询操作

执行指令# curl http://172.16.26.91:5000/v2/_catalog

4、验证私有库

说明:Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。

浏览器访问http://172.16.26.91:5000/v2,出现下面情况说明registry运行正常。

5、从公有库下载镜像

先执行指令# docker search nginx查看

然后执行指令# docker pull niginx下载

再执行指令# docker run -d --name nginx01 -p 1111:80 nginx运行镜像

访问测试

6、私有库上传下载测试

(1)、执行指令# docker images查看本地镜像

(2)、通过docker tag将该镜像标志为要推送到私有仓库

执行指令# docker tag nginx:latest localhost:5000/nginx:latest

(3)、通过 docker push 命令将 nginx 镜像 push到私有仓库中

执行指令# docker push localhost:5000/nginx:latest

(4)、访问 http://172.16.26.91:5000/v2/_catalog 查看私有仓库目录,可以看到刚上传的nginx镜像

(5)、下载私有仓库的镜像

执行指令# docker pull localhost:5000/镜像名:版本号

比如执行指令# docker pull localhost:5000/nginx:latest下载私有库的nginx镜像

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2