内容简介:手动搭建Docker本地私有镜像仓库实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库。#####基础配置
手动搭建 Docker 本地私有镜像仓库
实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库。
#####基础配置
查看一下两台虚拟机的IP地址
Server的IP地址是
![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110512743-89079180.jpg) Registry的IP地址是```192.168.134.150```. ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110517035-186271148.jpg) 使用```setenforce 0```临时关闭SElinux。 **打开```Server```和```Registry```的内核转发功能** 编辑配置文件```/etc/sysctl.conf```,添加下面的内容:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110522928-1457178659.jpg) 修改完成后使用```sysctl –p```命令生效。 ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110526512-721347188.jpg) #####Docker配置 1.Docker环境安装 在```Server```和```Registry```两台机器上使用```yum install -y docker```命令安装docker环境。 ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110531001-2084667691.jpg) ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110533742-1536023365.jpg) 2.配置Docker配置文件 在```Server```和```Registry```上编辑```/etc/sysconfig/docker```文件添加如下两行:
ADD_REGISTRY=’–add-registry 192.168.134.150:5000’
INSECURE_REGISTRY=’–insecure-registry 192.168.134.150:5000’
这里是将```docker image```的获取地址改为从本地私有```Registry```获取。 ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110540926-1222639651.jpg) 使用```systemctl restart docker```命令重启一下docker。 3.设置Docker服务 设置docker开机自启
systemctl enable docker
![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110556404-357751448.jpg) 4.配置镜像仓库 先把等会要用到的两个镜像的tar包放到```/root```目录下。 ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110627815-369142224.jpg) 接着手动加载镜像,加载```registry```镜像并使用再将他上传至私有镜像仓库,因为```registry```容器要用于其他容器的注册,所以先将他启动。**搭建私有镜像仓库必须要先将registry容器启动**。 使用的命令如下:
docker load < registry_latest.tar //加载镜像
docker images //查看刚刚加载的镜像的ID
docker run -d -p 5000:5000 –restart=always –name registry registry:latest //启动registry容器
docker tag 镜像ID registry:latest //给registry镜像打上新tag(可以省去此步)
docker push registry:latest //将registry镜像上传至私有镜像仓库(可以省去此步)
![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110633826-688854972.jpg) 这时使用```docker images```查看一下本地镜像。 ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110637400-883956047.jpg) 可以看到下面一个就是我刚刚重新打tag的镜像。 现在上传一个owncloud镜像。 ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110641534-1142528846.jpg) 这里可以看到上传完之后的镜像是没有tag的,所以我们给他打上tag,就可以看出来了。 ![](https://img2018.cnblogs.com/blog/1417438/201810/1417438-20181026110644914-752089952.jpg) 接着将他上传至私有镜像仓库。 全部命令如下:
docker load < owncloud.tar //加载镜像
docker images //查看刚刚加载的镜像的ID
docker tag 镜像ID owncloud:latest //给owncloud镜像打上tag
docker push owncloud:latest //将owncloud镜像上传至私有镜像仓库
我这里私有镜像仓库的默认位置在
/var/lib/docker/volumes/022dbe58afaec96083a1ceb3fb6672c7a62be38a5a48158322d75d2e6b1150c3/_data/docker/registry/v2/repositories/ `
下。
查看一下
这里可以看到我上传至私有镜像仓库的镜像文件。
#####验证
验证一下私有镜像是否搭建成功
到server上拉取owncloud镜像试一下。
这里可以看到他是从 192.168.134.150 Registry
镜像仓库拉取的镜像。
到此实验成功!
以上所述就是小编给大家介绍的《手动搭建Docker本地私有镜像仓库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux命令行与shell脚本编程大全 第3版
[美]布鲁姆,布雷斯纳汉 / 门佳、武海峰 / 人民邮电出版社 / 2016-8-1 / CNY 109.00
这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的最新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。一起来看看 《Linux命令行与shell脚本编程大全 第3版》 这本书的介绍吧!