docker私有仓库搭建和资源限制
Docker 私有仓库的搭建
docker 私有仓库默认只支持https协议的访问 不支持http协议 如果需要允许通过http协议访问 必须手动修改配置文件
docker官方默认提供的仓库 提供软件包docker-distribution 由python开发的web系统
# yum install docker-registry
# systemctl start docker-distribution
非dockerhub的Reistry必须明确指定服务器的地址 端口 非顶层的私有仓库还必须给定用户名
要想把镜像推送的私有仓库 必须先给镜像打上合适的标签 标签错误是无法上传docker 镜像的
给镜像打标签
# docker image ls
REPOSITORY TAG IMAGE ID
myweb v2 83d7884335ed
# docker tag myweb:v2 192.168.30.137:/myweb:v2_2 [root@nginx-docker]# docker push 192.168.30.137:/myweb
The push refers to a repository [192.168.30.137:/myweb]
Get https://192.168.30.137:5000/v1/_ping: http: server gave HTTP response to HTTPS client #允许运行http协议
[root@nginx-docker docker]# vi /etc/docker/daemon.json
{
"insecure-registries":["192.168.30.137:5000"]
} #修改daemon.json 拉取私有仓库镜像
[root myweb]# docker pull 192.168.30.137:/myweb:v2_2
私有仓库的上传和下载
HARBOR 搭建私有仓库
企业级docker私有仓库项目 原生支持镜像的冗余备份 主要由vmware 中国团队成员开发
支持访问控制 活动监控 主从复制
需要借助docker-compose 单机容器编排工具安装HARBOR
1.安装docker-compose
yum install docker-compose
# yum install docker-compose
# https://github.com/vmware/harbor
.下载harbor源码
.# tar xf harbor-offline-installer-v1.5.2.tgz -C /usr/local/
. vi /usr/local/harbor/harbor.cfg
hostname = myharbor.com 不能写服务器IP 必须写主机名
后面无法解析地址 造成上传镜像失败
.cd /usr/local/harbor
. ./install.sh 自动执行安装脚本
harbor安装
.http://192.168.30.139/harbor/sign-in
项目 》 新建项目(仓库) 》
.harbor上传下载镜像的时候需要进行用户认证的 harbor中创建的用户 [root@nginx-docker ~]# docker tag myweb:v2 192.168.30.139/dev/myweb:v2_1
[root@nginx-docker ~]# docker push 192.168.30.139/dev/myweb:v2_1
The push refers to a repository [192.168.30.139/dev/myweb]
Get https://192.168.30.139/v1/_ping: dial tcp 192.168.30.139:443: getsockopt: connection refused
[root@nginx-docker ~]# vi /etc/docker/daemon.json
[root@nginx-docker ~]# systemctl restart docker
[root@nginx-docker ~]# docker push 192.168.30.139/dev/myweb:v2_1
The push refers to a repository [192.168.30.139/dev/myweb]
86527283a11a: Preparing
b87bb670f898: Preparing
: Waiting
717b092b8c86: Waiting
denied: requested access to the resource is denied
[root@nginx-docker ~]# docker login 92.168.30.139
Username: yxh
Password:
Error response from daemon: Get https://92.168.30.139/v1/users/: dial tcp 92.168.30.139:443: i/o timeout 使用docker login不能使用服务器IP地址,必须使用可以被解析的主机名
vi /etc/hosts
192.168.30.139 myharbor.com [root@nginx-docker ~]# docker login myharbor.com
Username: yxh
Password:
Login Succeeded [root@nginx-docker ~]# docker tag myweb:v2 myharbor.com/dev/myweb:v2
[root@nginx-docker ~]# docker push myharbor.com/dev/myweb:v2
The push refers to a repository [myharbor.com/dev/myweb]
86527283a11a: Pushed
6263c50a557c: Pushed
c6ee3d0df60c: Pushed
2eb31a989e11: Pushed
v2: digest: sha256:41cfd4c47d2f24ca703ef32ff7de9ed166be65adf7c725ff2894cd0b0125ee2a size: 一次性推送整个仓库
.先给多个镜像打上标签
docker tag myweb:v3- myharbor.com/dev/myweb:v3-
docker tag myweb:v3- myharbor.com/dev/myweb:v3-
docker tag myweb:v3- myharbor.com/dev/myweb:v3-
.上传整个仓库(把三个镜像上传到同一仓库(myweb)中)
docker push myharbor.com/dev/myweb .下载镜像
# docker pull myharbor.com/dev/myweb:v2
Trying to pull repository myharbor.com/dev/myweb ...
v2: Pulling from myharbor.com/dev/myweb
Digest: sha256:41cfd4c47d2f24ca703ef32ff7de9ed166be65adf7c725ff2894cd0b0125ee2a
Status: Downloaded newer image for myharbor.com/dev/myweb:v2 docker-compose命令
停止harbor docker-compose stop
启动harbor docker-compose start
harbor上传和下载镜像
harbor仓库的使用



docker容器资源限制
容器技术能够实现主要依赖于内核的两个特性 名称空间和控制组
默认情况一个容器是没有使用资源的限制,它能耗掉宿主机上的所有资源
限制容器的cpu和内存这两种资源
OOM
如果系统内核探测到当前宿主机已经没有足够内存可分配给系统运行中重要的系统进程,就会抛出一个系统异常并且会强制杀死一些内存耗用比较大的应用进程
每个进程都有一个OOM_adj参数 代表一旦发生OOM 是否优先被kill的优先级
容器内存限制
容器CPU限制
cpu核心编号是从0开始编号的
--cpus 限制容器最多使用多少核cpu
# docker pull lorel/docker-stress-ng 下载docker容器压测镜像
启动容器后执行 stress help 查看相关使用文档
docker私有仓库搭建和资源限制的更多相关文章
- Docker学习笔记 — Docker私有仓库搭建
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
- CentOS7 Docker私有仓库搭建及删除镜像 【转】
文章来源:centos7 Docker私有仓库搭建及删除镜像 如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个装有Docker 17. ...
- Docker学习笔记 — Docker私有仓库搭建【转载】
标签: Docker 2015-03-10 21:08 24190人阅读 评论(0) 收藏 举报 分类: Docker(26) 目录(?)[+] 和Mavan的管理一样,Dockers不仅 ...
- docker私有仓库搭建(ubuntu 14.04和centos7)
最近是在做一个关于docker云化的项目,马上就要开始实战.下午先做了一个私有仓库搭建的实验,先大概做个笔记,有兴趣的蛮看一下吧. 先在所有机子上都安装上docker,我的是两台ubuntu,分别是1 ...
- CentOS环境下Docker私有仓库搭建
本文讲述如何搭建docker私有仓库. 有了docker hub,为什么还要搭建docker私有仓库? 1.性能考虑:docker hub的访问要通过互联网,性能太低. 2.安全性:更多的时候,镜像不 ...
- centos7 docker私有仓库搭建
习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间 ...
- docker私有仓库搭建及认证
什么是docker? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机 ...
- Docker私有仓库搭建
# 环境 系统 Linux 3.10.0-123.9.3.el7.x86_64 CentOS 7.0.1406 (Core) Docker 1.12.0, build 8eab29e 1.获取镜像 私 ...
- docker 私有仓库搭建
知识基础:ubuntu系统安装,docker安装,了解docker的基础知识 下载镜像(如果下载2版本以上的需要配置ssl证书,这里先用0.9.1的演示) root@ubuntu:/# docker ...
随机推荐
- [IR] XML Compression
Ref: https://www.ibm.com/developerworks/cn/xml/x-datacompression/ Language-Equivalent (类似路径压缩 ) root ...
- Eclipse的Project Facets属性
Project Facets 1. 'Project Facets'可理解为:项目的特性,主流 IDE (Eclipse IDEA) 都提供了 facet 的配置. 'Project Facets' ...
- 斯坦福2011秋季 iPad and iPhone Application Development 资源
1. MVC and Introduction to Objective-C (September 27, 2011) - HD 2. My First iOS App (September 29, ...
- WP8.1学习系列(第二十七章)——ListView和GridView入门
快速入门:添加 ListView 和 GridView 控件 (XAML) 在本文中 先决条件 选择 ListView 或 GridView 将项添加到项集合 设置项目源 指定项目的外观 指定视图 ...
- C#枚举类型和int类型相互转换
C#枚举类型和int类型相互转换 C# 枚举(Enum) 枚举是一组命名整型常量.枚举类型是使用 enum 关键字声明的. C# 枚举是值数据类型.换句话说,枚举包含自己的值,且不能继承或传递继承. ...
- 整型数字转utf8
static std::string codePointToUTF8(unsigned int cp){ std::string result; // based on description fro ...
- Oracle数据库入门——基础知识
1.安装完成Oracle数据库后,使用sqlplus客户端登录数据库管理系统,只输入用户名,没有输入密码时,会提示口令为空,登录被拒绝. 请输入用户名:system 输入口令: ERROR:ORA-0 ...
- Android超精准计步器开发-Dylan计步(申明:来源于网路)
Android超精准计步器开发-Dylan计步(申明:来源于网路) 拿来借鉴学习,向原创者... 地址:http://blog.csdn.net/linglongxin24/article/detai ...
- [No000010B]Git4/9-时光机穿梭
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...
- python:turtle绘图模块
turtle模块 海龟绘图(Turtle Graphics),python内置模块,非常简单好玩的一个库. 一.导入库 import turtle from turtle import * 二.画布的 ...