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,一经查实,立即删除!

相关文章

VIM 编辑器

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

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

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

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 #讲下面…

如何在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…

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

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

802. 找到最终的安全状态

在有向图中,以某个节点为起始节点,从该点出发,每一步沿着图中的一条有向边行走。如果到达的节点是终点(即它没有连出的有向边),则停止。 对于一个起始节点,如果从该节点出发,无论每…

第01章—快速构建

spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html 码云源码地址:https://gitee.com/jinxiaohang/springboot 一、Spring Initializr 使用教程 (IntelliJ IDEA) 具体步骤: 1、打开IDEA &am…

鱼眼镜头的distortion校正【matlab】

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 作者:WWC %%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 功能:畸变矫正 clc; clear; close all; %% 读取图像 Aimread(D:\文件及下载相关\图片\distortion2.jpg)…

C# 使用WinApi操作剪切板Clipboard

前言: 最近正好写一个程序,需要操作剪切板 功能很简单,只需要从剪切板内读取字符串,然后清空剪切板,然后再把字符串导入剪切板 我想当然的使用我最拿手的C#来完成这项工作,原因无他,因为.Net框架…

专访赵加雨:WebRTC在网易云信的落地

去年的这个时候,在市面上公开表示使用WebRTC的公司还没几家,但2018年以来,宣布采用或支持WebRTC的公司已经越来越多。实时音视频提供商网易云信也在自研的NRTC中集成了WebRTC。在他们眼里,2017年是WebRTC的转折之年,而…

1、Linux命令随笔

1 Linux命令总结2 3 man 命令帮助;4 help 命令的帮助(bash的内置命令);5 ls list,查看目录列表;6 -ld:查看目录权限;7 -l:(long)长格式显示属性;8 -F:给不同的文件类型结尾加标识9 -p:给目录加斜线10 …

1137. 第 N 个泰波那契数

泰波那契序列 Tn 定义如下: T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 示例 1: 输入:n 4 输出:4 解释: T_3 0 1 1 2 T_4 1…

5827. 检查操作是否合法

给你一个下标从 0 开始的 8 x 8 网格 board ,其中 board[r][c] 表示游戏棋盘上的格子 (r, c) 。棋盘上空格用 ‘.’ 表示,白色格子用 ‘W’ 表示,黑色格子用 ‘B’ 表示。 游戏中每次操作步骤为:选择一个空格子,将它变…

5193. 删除字符使字符串变好

5193. 删除字符使字符串变好 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 。 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 。 请你返回删除后的字符串。题目数据保证答案总是 唯一的 。 示例 …

PHP--------微信网页开发实现微信扫码功能

今天说说微商城项目中用到的扫一扫这个功能,分享一下,希望对各位有所帮助。 前提:要有公众号,和通过微信认证,绑定域名,得到相应信息,appid,appsecret等。 微信开发文档:…

313. 超级丑数

超级丑数 是一个正整数,并满足其所有质因数都出现在质数数组 primes 中。 给你一个整数 n 和一个整数数组 primes ,返回第 n 个 超级丑数 。 题目数据保证第 n 个 超级丑数 在 32-bit 带符号整数范围内。 示例 1: 输入:n 12,…

[SQL] 请教一下 count里面有case when 一般情况下啥时候用

http://www.itpub.net/forum.php?modviewthread&tid1810967 问题: 比如 count(case when pday_id${deal_date} then 1 end) 我有点想不明白具体什么情况下count() 这个小括号里面还要用case when 大家做BI统计的时候一般什么情况用啊 还有个…

路由器架设虚拟服务器让外网访问到本地网站

确定电脑与路由器正确连接,并且已连至互联网。在地址栏中输入192.168.0.1回车,输入用户名密码,进入路由器主界面。 然后点击左侧菜单中的“虚拟服务器”,——“端口段映射”打开“端口段映射”界面。 由于网站用的是80端口&#x…

selenium模块

selenium模块 阅读目录 一 介绍二 安装三 基本使用四 选择器五 等待元素被加载六 元素交互操作七 其他八 项目练习一 介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题selenium本质是通过驱动浏览器,完…

关于tomcat Post 数据参数的问题

2019独角兽企业重金招聘Python工程师标准>>> POST请求本身并未限制传入参数大小&#xff0c;是tomcat 容器设置了接收参数大小的限制。修改server.xml <Connector port"8080" protocol"HTTP/1.1" connectionTimeout"2000" red…