本文共 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/