搭建Docker私有仓库

目录

背景介绍

学习目的

学习准备

搭建过程


背景介绍

Docker registry是存储Docker image的仓库,运行push、pull、 search 时,是通过Docker daemon与docker registry通信。

Docker Hub(Docker埠,内有大量存储库或叫仓库)是Docker提供的一项服务,用于查找和与您的团队共享容器镜像。它是世界上最大的容器镜像存储库,拥有一系列内容源,包括容器社区开发人员、开放源代码项目和独立软件供应商(ISV)在容器中构建和分发代码。

学习目的

了解仓库,掌握搭建私有仓库的方法

学习准备

要求实验主机能够连接外网,已经正确安装Docker,并关闭防火墙和selinux。本实验各主机配置信息如表所

主机名

IP地址

节点角色

registry

自己的主机

私有仓库

node1

其它主机1

客户端1

node2

其它主机2

客户端2

搭建Docker私有仓库_第1张图片

 我的防火墙和selinux已经关闭了

搭建过程

步骤1:在registry主机上利用docker pull命令从Docker Hub拉取registry镜像,并通过docker images命令查看下载的regisry镜像

[root@localhost ~]# hostnamectl set-hostname registry    重启生效

[root@registry ~]# docker pull registry                                拉取镜像

[root@registry ~]# docker images                                      查看镜像列表

REPOSITORY TAG IMAGE ID CREATED SIZE

Registry latest f32a97de94e1 5 months ago 25.8MB

搭建Docker私有仓库_第2张图片

 步骤2:通过docker run命令启动一个registry容器,并挂载目录,利用容器提供私有仓库的服务,并通过docker ps命令查看registry容器是否运行。

[root@registry ~]# docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry   启动容器

c93669d06c5545b1f90fcb721bdb4da43b7add9fff7ede08b9e58822d1c235d1

You have new mail in /var/spool/mail/root

[root@registry ~]# docker ps -a             看看这个容器是否运行

搭建Docker私有仓库_第3张图片

 当容器正常启动后,对外提供服务通过5000端口映射到docker-registry的5000端口。

步骤4:拉取busybox镜像,修改tag名称后,上传到本地仓库中。

[root@registry ~]# docker pull busybox

[root@registry ~]# docker images

[root@registry ~]# docker tag busybox:latest 192.168.5.100:5000/busybox:latest

搭建Docker私有仓库_第4张图片

 搭建Docker私有仓库_第5张图片

 步骤5:将镜像192.168.5.100:5000/busybox上传到本地仓库中。

[root@registry ~]# docker push 192.168.5.100:5000/busybox

如果出现上述提示,表示本地仓库默认使用的是https协议进行上传。而当前采用是非https协议上传,可采用步骤6进行处理。 (http是安全的协议)

步骤6:修改/usr/lib/systemd/system/docker.service文件,在ExecStart参数后面添加--insecure-registry 192.168.5.100:5000。

[root@registry ~]# vi /usr/lib/systemd/system/docker.service

 保存退出,重启docker服务---------修改配置文件之后需要重启

[root@registry ~]# systemctl daemon-reload

[root@registry ~]# systemctl restart docker

 重启registry容器

[root@registry ~]# docker restart c93669d06c55

 步骤7:再次上传镜像192.168.5.100:5000/busybox到本地仓库。

[root@registry ~]# docker push 192.168.5.100:5000/busybox

 步骤8:在客户端1和客户端2上修改/usr/lib/systemd/system/目录下的docker.service文件,在ExecStart=/usr/bin/dockerd后面添加--insecure-registry 192.168.5.100:5000,保存后并重启docker服务

客户端1:

[root@localhost ~]# hostnamectl set-hostname node1

[root@node1 ~]# vi /usr/lib/systemd/system/docker.service

// 修改ExecStart参数,修改完后,内容如下

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.5.100:5000

 保存退出,重启docker服务

[root@node1 ~]# systemctl daemon-reload

[root@node1 ~]# systemctl restart docker

 客户端2:

[root@localhost ~]# hostnamectl set-hostname node2

[root@node2 ~]# vi /usr/lib/systemd/system/docker.service

// 修改ExecStart参数,修改完后,内容如下

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.5.100:5000

保存退出,重启docker服务

[root@node2 ~]# systemctl daemon-reload

[root@node2 ~]# systemctl restart docker

步骤9:在客户端node1和node2上拉取私有仓库中的busybox镜像。

[root@node1 ~]# docker pull 192.168.5.100:5000/busybox

[root@node1 ~]# docker images

搭建Docker私有仓库_第6张图片

-v   主机到容器的映射(卷的挂载:主机和容器的共享)

创建容器一定要看成没成功

curl命令  访问浏览器命令

仓库装软件,配置-------------

localhost  本机   127.0.0.1

改配置,重启容器

你可能感兴趣的:(计算机基础实习,docker,容器,运维)