Centos7 Docker私有仓库搭建

Centos7 Docker私有仓库搭建

仓库:集中存放镜像的地方,可分为公共仓库和私有仓库
(公共仓库"http://hub.docker.com"或国内的"http://www.daocloud.io")

Registry:注册服务器才是存放仓库具体的服务器(Registry),每个服务器上都可以放置多个仓库,而每个仓库上可以放置多个镜像,每个镜像上可以运行多个容器,每个容器上可以跑一个应用或应用组。

搭建docker仓库有两种方式:

方式一:在同一台服务器搭建仓库和客户端(属于本地搭建)
方式二:两台服务器一个是仓库,一个是客户端(属于本地搭建)
注:本文使用方式二搭建,也建议在真实环境中使用这种方式搭建!

环境:

系统:两台centos7 -3.10.0-327.el7.x86_64
Docker版本:docker-1.13.1-63
IP:Docker客户端地址:192.168.152.158
Docker私有仓库地址:192.168.152.159
注:清空并关闭以上环境主机的防火墙和selinux

关闭防火墙 systemctl stop firewalld.service
禁止防火墙开机自启 systemctl disable firewalld.service

关闭selinux sed -i 's/SELINUX=enforcing /SELINUX=disabled/g'
/etc/sysconfig/selinux

重启 reboot

一、安装Docker客户端:192.168.152.158(第一台服务器)

本文基于上一篇docker安装文章继续搭建的,在安装docker客户端部分大家可以参考上一篇文章:安装Docker
1、指定私有仓库服务器地址及端口 vi /etc/sysconfig/docker
OPTIONS='--insecure-registry 192.168.152.159:5000'
Centos7 Docker私有仓库搭建
注:修改/etc/sysconfig/docker(Ubuntu下配置文件地址为:/etc/init/docker.conf),增加启动选项(已有参数的在后面追加),之后重启docker,不添加报错,https证书问题。

//重启docker systemctl restart docker

二、搭建Docker私有仓库:192.168.152.159(第二台服务器)

1、安装docker yum -y install docker
Centos7 Docker私有仓库搭建

2、升级依赖包 yum -y install upgrade device-mapper-libs
Centos7 Docker私有仓库搭建

3、启动docker服务 systemctl start docker

4、开机自启docker服务 systemctl enable docker

5、查看docker版本信息 docker version

6、下载registry镜像(该镜像用于构建本地私有仓库环境)
docker pull registry
Centos7 Docker私有仓库搭建
注:由于国内网络问题直接连接官网下载可能会超时,可以重试几次。
//查看下载registry镜像 docker images
Centos7 Docker私有仓库搭建

//递归创建镜像存放目录 mkdir -p /opt/data/registry
Centos7 Docker私有仓库搭建

7、运行镜像并将容器5000端口映射到linux主机5000端口,并将镜像下载到/opt/data/registry/目录下(默认为/var/lib/registry目录)命令如下:
Centos7 Docker私有仓库搭建
注释:
i:保持sdtin开放状态
d:使容器以守护进程方式后台运行,并打印容器id
t:分配一个tty(虚拟终端设备)
v: 绑定挂载一个容器内的路径到宿主机路径
p:映射一个容器的端口到宿主机端口
restart:当容器退出时的重启策略
name: 给容器命名一个名称
-–privileged=true :CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误
-v /opt/data/registry:/var/lib/registry:默认情况下,会将仓库存放于容器内的/tmp/registry目录下,指定本地目录挂载到容器

三、客户端上传镜像(先切换到客户端在执行)

1、从公共仓库拉取httpd镜像 docker pull httpd

2、查看拉取镜像 docker images
Centos7 Docker私有仓库搭建

3、修改镜像的tag docker tag 原名 修改名
docker tag httpd 192.168.152.159:5000/httpd
Centos7 Docker私有仓库搭建

4、把打了tag的镜像上传到私有仓库
docker push 192.168.152.159:5000/httpd
Centos7 Docker私有仓库搭建

5、查看镜像的存储目录和文件(此命令在仓库服务器上运行查看)
tree /opt/data/registry/docker/registry/v2/repositories/
Centos7 Docker私有仓库搭建

6、测试从仓库拉取镜像
1)删除docker客户端镜像 docker rmi 192.168.152.159:5000/httpd
Centos7 Docker私有仓库搭建
Centos7 Docker私有仓库搭建

2)从仓库拉取刚才删除的镜像 docker pull 192.168.152.159:5000/httpd
Centos7 Docker私有仓库搭建
注:以上操作完成docker仓库搭建!

转载于:https://blog.51cto.com/13043516/2120260

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL触发器使用详解

MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。 创建触发器在MySQL中,创建触发器语法如下: 代码如下: CREATE…

java中访问修饰符_Java中的访问修饰符介绍

java中访问修饰符什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would access some of your properties? You would not want anyone using your underwear. However, your close friends and relatives can use yo…

VIM 编辑器

2019独角兽企业重金招聘Python工程师标准>>> VIM 相对于VI 的提升 VIM 支持多级撤销VIM 可以跨平台运行VIM 支持语法高亮VIM 支持图形界面VIM 编辑器的操作模式 Command Mode -命令模式Insert Mode -输入模式Last Lin Mode -底行模式#使用yum 命令安装vim 软件&…

/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的作用

转载自:http://blog.csdn.net/u013968345/article/details/21262033 /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个运行bash shell的用户执行此文件…

python初学者_终极Python初学者手册

python初学者Python has become one of the fastest-growing programming languages over the past few years. 在过去的几年中,Python已成为增长最快的编程语言之一。 Not only it is widely used, it is also an awesome language to tackle if you want to get …

z-index

z-index 这个东西非常简单,它有四大特性,每个特性你记住了,页面布局就不会出现找不到盒子的情况。 z-index 值表示谁压着谁,数值大的压盖住数值小的,只有定位了的元素,才能有z-index,也就是说,不…

大型运输行业实战_day12_1_权限管理实现

1.业务分析 权限说的是不同的用户对同一个系统有不同访问权限,其设计的本质是:给先给用户分配好URL,然后在访问的时候判断该用户是否有当前访问的URL. 2.实现 2.1数据库设计标准5表权限结构 2.2.sql语句实现,根据用户id查询该用户所有的资源 sql语句: SELECT ur.user_id, r.u…

aws python库_如何使用Python,AWS和IEX Cloud创建自动更新股市数据的Excel电子表格

aws python库Many Python developers in the financial world are tasked with creating Excel documents for analysis by non-technical users.金融界的许多Python开发人员的任务是创建Excel文档,以供非技术用户进行分析。 This is actually a lot harder than i…

37)智能指针(就是自动delete空间)

1)问题引入: 在java或者在C中,一旦你new一个东西,那么必然有一个delete与之对应,比如: 1 int main()2 {3 int* p new int();4 5 *…

linux 安装maven

2019独角兽企业重金招聘Python工程师标准>>> 目录:/usr/local/maven 1.下载 wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz 2.解压 tar -zxvf apache-maven-3.5.3-bin.tar.gz 3.配置 vi /etc/profile #讲下面…

自由开发者怎么生存_如何作为自由开发者生存

自由开发者怎么生存It’s been 8 weeks since we started experiencing the dramatic impact of the COVID-19 pandemic. In that time, we’ve all borne witness to how this virus can impact our families, our communities, and our livelihood. 自我们开始体验COVID-19大…

UUID生成字符串

在向数据库插入新数据时,可能需要插入字符串形式的ID,这时使用UUID可以生成随机字符串: String str UUID.randomUUID().toString(); 转载于:https://www.cnblogs.com/suhfj-825/p/8260861.html

如何在React Native中使用react-navigation 5处理导航

React-navigation is the navigation library that comes to my mind when we talk about navigation in React Native. 当我们谈论React Native中的导航时,React-navigation是我想到的导航库。 Im a big fan of this library and its always the first solution I…

flask内置session原理

内置session原理 请求到来 当请求进来之后,先执行Flask对象的 __call__ 方法 def wsgi_app(self, environ, start_response):# 获取请求相关数据,并进行封装和加工ctx self.request_context(environ)# 将请求消息推送到堆栈中,并执行 open_s…

指针3

#include <stdio.h>/* 2018-05-28 如何通过被调函数修改主调函数普通变量的值1&#xff0c;实参必须为该普通变量的地址2,形参必须为指针变量3&#xff0c;在背调函数中通过*形参名 。。。。。的方式就可以修改主调函数相关变量的值*/f(int *i,int *j) {*i 4;*j 5;ret…

面试系统设计_系统设计面试问题–您应该知道的概念

面试系统设计You may have heard the terms "Architecture" or "System Design." These come up a lot during developer job interviews – especially at big tech companies.您可能已经听说过“架构”或“系统设计”这两个术语。 在开发人员工作面试中&…

8597 石子划分问题 dpdp,只考虑第一次即可

8597 石子划分问题 时间限制:500MS 内存限制:1000K提交次数:155 通过次数:53 题型: 编程题 语言: G;GCC;VC Description 给定n个石子&#xff0c;其重量分别为a1,a2,a3,...,an。 要求将其划分为m份&#xff0c;每一份的划分费用定义为这份石子中最大重量与最小重量差的平方。…

文章中嵌入代码块_如何在您的文章中嵌入多项选择测验问题

文章中嵌入代码块In my experience, supplementing study with practical exercises greatly improves my understanding of a topic. This is especially true when I can test my knowledge as I go and receive instant feedback for each question.以我的经验&#xff0c;通…

mysql免安装版配置

1.官网下载https://dev.mysql.com/downloads/mysql/ 2.将下载好的压缩包mysql-5.7.20-winx64.zip解压。 3.mysql解压后&#xff0c;设置.ini文件&#xff0c;在加压后的路径中加一个my.ini文件 配置如下内容&#xff1a; # 设置mysql客户端默认字符集 default-character-setutf…

各种IE(IE6-IE10)兼容问题一行代码搞定

x-ua-compatible 用来指定IE浏览器解析编译页面的model x-ua-compatible 头标签大小写不敏感&#xff0c;必须用在 head 中&#xff0c;必须在除 title 外的其他 meta 之前使用。 1、使用一行代码来指定浏览器使用特定的文档模式。 <meta http-equiv"x-ua-compatible&q…