博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/08/04 docker镜像和Registry(02) Registry部分
阅读量:3926 次
发布时间:2019-05-23

本文共 2987 字,大约阅读时间需要 9 分钟。

docker时代什么都可以镜像化,docker已经把registry服务做成一个镜像了在这里插入图片描述

换一个节点,对应程序包在extras仓库下,程序包早期就叫docker registry
较新的是docker distribution
在这里插入图片描述在这里插入图片描述
作为registry还需要一个很大的空间来存放镜像,需要连接存储,才能把镜像文件放到存储上面,可以是swift,nas,最简单还是使用本地存储、
程序名 registry
服务名,docker-distribution
配置文件yml
在这里插入图片描述
log字段,service服务名
storage存储,把用户推过来的镜像放哪里去
可以先使用cache inmemory内存缓存,内存大可以加速用户访问
filesystem放本地文件系统,亚马逊的s3
用户账号需要有这个文件路径的存取 权限
在这里插入图片描述
registry对自己的服务也是根据http向外输出的,默认监听所有地址的5000端口在这里插入图片描述
现在就可以把镜像推到这个服务器上来了,需要指明服务器地址
改一下标签

在这里插入图片描述

然后可以把镜像推送到registry,bbox-onbuild latest (tag才是镜像名)
在这里插入图片描述
客户端如果是https就需要改成http,或者让distribution+ssl改成https,
装个nginx反代可以

我们也可以修改客户端在这里插入图片描述

insecure-registry非安全的镜像仓库 +参数表示标记谁可以用个http
addregistry 加上仓库
在这里插入图片描述push一个镜像过去
在这里插入图片描述
服务器端可以看到镜像文件,现在这个仓库任何人都可以看,用在这里插入图片描述
需要实行用户认证,htpasswd(以前 http这么创建用户)在这里插入图片描述
现在取配置nginx反代
在这里插入图片描述在这里插入图片描述
Docker private Registry的Nginx反代配置方式:

client_max_body_size 0;不做限制    location / {        proxy_pass  http://registrysrvs;        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;        proxy_redirect off;        proxy_buffering off;        proxy_set_header        Host            $host;        proxy_set_header        X-Real-IP       $remote_addr;        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;        auth_basic "Docker Registry Service";        auth_basic_user_file "/etc/nginx/.ngxpasswd";    }

在这里插入图片描述

自己定义配置文件
在这里插入图片描述
现在修改distribution配置文件在这里插入图片描述在这里插入图片描述在这里插入图片描述
再找一个镜像文件打标签,准备推上去在这里插入图片描述
推上 私有仓库路径在这里插入图片描述已经上传上来了 在这里插入图片描述
没有在nginx反代时提供ping接口,探测服务是否ok的接口在这里插入图片描述在这里插入图片描述在这里插入图片描述
重载服务在这里插入图片描述
再推一个镜像试试在这里插入图片描述
标签需要加端口,但是出错,首部信息当中有问题在这里插入图片描述
再去编辑nginx配置文件,认证完查看是否allow,。ngxpasswd当做账号密码文件在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
客户端推之前需要输入账号密码登录,已经推过一次了在这里插入图片描述
另外的再加一个新标签在这里插入图片描述
tree看一下,tom的nginx已经推上来了
在这里插入图片描述
nginx,docker,docker-distribution重新再配置一次
重新安装docker-distrubution,nginx也重新配置一下
在这里插入图片描述在这里插入图片描述
打个镜像新标签,推上去在这里插入图片描述
安装nginx配置反代在这里插入图片描述在这里插入图片描述
复制location内部的即可在这里插入图片描述 location / {
proxy_pass http://registrysrvs;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

auth_basic "Docker Registry Service";        auth_basic_user_file "/etc/nginx/.ngxpasswd";    }

在这里插入图片描述

启动nginx在这里插入图片描述在这里插入图片描述
把两个私有仓库都当做非安全仓库去使用在这里插入图片描述
依然有问题在这里插入图片描述
查看日志在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
现在就可以了在这里插入图片描述
把验证功能打开在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新登录推一下centos在这里插入图片描述
登录错位置了,需要登录到80在这里插入图片描述
查看日志
在这里插入图片描述
不加用户名试试在这里插入图片描述
可能之前都push过了,从官方下载一个新的试试
在这里插入图片描述

在另外的主机上试试,安装docker在这里插入图片描述在这里插入图片描述

使用非安全仓库在这里插入图片描述
推一下试试在这里插入图片描述
往5000端口推下试试,就可以推在这里插入图片描述
新标签,用80端口试试
先把认证功能关掉
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
没认证没问题在这里插入图片描述在这里插入图片描述在这里插入图片描述
把docker.io/redis:latest 标记位 172.16.0.72:80/redis:lates在这里插入图片描述
不认证推上去试试
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
再往上推一下试试,应该是跟认证相关,就跟你某个认证首部有关系在这里插入图片描述
将来在企业中真正使用私有仓库的时候,也没有必要去做认证,harbor-n是vwmare开源的全功能的私有仓库服务器,支持ldap众多用户生成信息存储和认证,功能强大

docker的启动时资源限制,除了registry还有ftp和http也可以分发镜像

docker save把本地镜像文件保存为tar文件,下载下来,使用docker load即可

docker启动容器的时候,使用run或create,有很多选项,可以限制cpu使用在这里插入图片描述在这里插入图片描述在这里插入图片描述

运行这个容器用多少cpu,按比例分配
在这里插入图片描述
按配额分配
在这里插入图片描述
使用相对权重的方式来分配
在这里插入图片描述
限制容器使用内存空间
在这里插入图片描述
交换式分区在这里插入图片描述
内存耗尽可以禁止docker运行在这里插入图片描述
也可以限制磁盘IO,bps表示每秒字节在这里插入图片描述
网络IO
在这里插入图片描述在这里插入图片描述
容器的资源限制:
CPU:
RAM:
Device:
–device-read-bps value Limit read rate (bytes per second) from a device (default [])
–device-read-iops value Limit read rate (IO per second) from a device (default [])
–device-write-bps value Limit write rate (bytes per second) to a device (default [])
–device-write-iops value Limit write rate (IO per second) to a device (default [])

转载地址:http://mckgn.baihongyu.com/

你可能感兴趣的文章
c/c++实现进制转换
查看>>
python打开转盘锁
查看>>
python链表反转
查看>>
c/c++查询M个数在N数组中出现的次数
查看>>
uva 10066 - The Twin Towers(动态规划-最长公共子序列)
查看>>
uva 147 - Dollars(动态规划--完全背包)
查看>>
uva 357 - Let Me Count The Ways(动态规划-注意dp初始化的问题)
查看>>
uva 562 - Dividing coins(注意判断条件,可以转换成01背包做)
查看>>
***uva 348 最优数组乘法序列(记忆化搜索+输出路径)
查看>>
js实现页面复选框checkbox记忆功能
查看>>
uva 10285 - Longest Run on a Snowboard(dp+记忆化搜索)
查看>>
uva 10404 - Bachet's Game(DP)
查看>>
uva 620 - Cellular Structure
查看>>
uva 10069 - Distinct Subsequences(大数相加+DP)
查看>>
uva 10651- Pebble Solitaire(状态压缩DP)待看。。。
查看>>
uva 10306 - e-Coins(二维完全背包)
查看>>
uva 10739 - String to Palindrome(带增删改操作的回文串问题)
查看>>
动态规划---最短编辑距离
查看>>
最长公共子序列+打印路径
查看>>
堆的各种操作
查看>>