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私有仓库搭建和资源限制的更多相关文章

  1. Docker学习笔记 — Docker私有仓库搭建

    Docker学习笔记 — Docker私有仓库搭建   目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2   和Mavan的管理一样,Dockers ...

  2. CentOS7 Docker私有仓库搭建及删除镜像 【转】

    文章来源:centos7 Docker私有仓库搭建及删除镜像 如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个装有Docker 17. ...

  3. Docker学习笔记 — Docker私有仓库搭建【转载】

    标签: Docker 2015-03-10 21:08 24190人阅读 评论(0) 收藏 举报  分类: Docker(26)    目录(?)[+]   和Mavan的管理一样,Dockers不仅 ...

  4. docker私有仓库搭建(ubuntu 14.04和centos7)

    最近是在做一个关于docker云化的项目,马上就要开始实战.下午先做了一个私有仓库搭建的实验,先大概做个笔记,有兴趣的蛮看一下吧. 先在所有机子上都安装上docker,我的是两台ubuntu,分别是1 ...

  5. CentOS环境下Docker私有仓库搭建

    本文讲述如何搭建docker私有仓库. 有了docker hub,为什么还要搭建docker私有仓库? 1.性能考虑:docker hub的访问要通过互联网,性能太低. 2.安全性:更多的时候,镜像不 ...

  6. centos7 docker私有仓库搭建

    习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间 ...

  7. docker私有仓库搭建及认证

    什么是docker? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机 ...

  8. Docker私有仓库搭建

    # 环境 系统 Linux 3.10.0-123.9.3.el7.x86_64 CentOS 7.0.1406 (Core) Docker 1.12.0, build 8eab29e 1.获取镜像 私 ...

  9. docker 私有仓库搭建

    知识基础:ubuntu系统安装,docker安装,了解docker的基础知识 下载镜像(如果下载2版本以上的需要配置ssl证书,这里先用0.9.1的演示) root@ubuntu:/# docker ...

随机推荐

  1. [Unity3D] 03 - Component of UI

    还需进一步整理! ing... 博客参考 Unity 相关博客:Unity游戏开发爱好者 Unity 3D 连接Mysql数据库 Unity uGUI 登录界面 Unity uGUI 登录及注册功能 ...

  2. [PHP] 02 - Namespace & Class

    两个比较大的话题,独立成本篇. 面向对象编程 一.命名空间 PHP 命名空间可以解决以下两类问题: 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突. 为很长的标识符名称 ...

  3. [React] 13 - Redux: react-redux

    Ref: Redux 入门教程(三):React-Redux 的用法 组件拆分规范 使用 React-Redux,需要掌握额外的 API,并且要遵守它的组件拆分规范. React-Redux 将所有组 ...

  4. 关于vb代码复制到其他地方出现乱码的问题

    今天笔者在学习vb编程时,想将自己的一段测试代码记录到云笔记中,方便以后查阅,代码如下: 结果在复制到其他的地方的时候,均出现乱码的现象,主要是针对代码的中的中文,如下效果 Private Sub C ...

  5. node.js 简单的获取命令参数

    class Argvs { constructor() { this.argvsAll = this.argvsAll(); } argvsAll() { return process.argv.sl ...

  6. EF Core 2.1变化

    EF Core 2.1随.NET Core 2.1一起发布,本篇文章总结一下EF Core的新增功能,先从简单的开始说. 一.延迟加载 延迟加载不用介绍了吧,直接看一下怎样配置吧.EF Core 2. ...

  7. Ubuntu下搭建高匿HTTP代理(亲测可用)

    功能用途 我们在生活中见过各种代理,比如我们距离火车站较远,我们可以选择通过距离最近的火车票代售点来购买火车票.又比如商品代理商,我们拿不到厂家的直接或者,可以通过厂家授权的代理经销商来获得产品.代理 ...

  8. xcode reset 删除重新安装

    Type "rm -rf ~/Library/Application Support/Xcode" and press "Enter." This remove ...

  9. SecureCRT安装使用

    ● 解决自动断开 echo "TMOUT=6000 " >>/etc/profile source /etc/profile 在连接上右键属性,然后“终端”,“反空闲” ...

  10. Steeltoe之Service Discovery篇

    在前文一窥Spring Cloud Eureka中,已经构建了基于Eureka的服务端与客户端,可用于实现服务注册与发现功能.而借助Steeltoe的类库,可以在.NET生态系统中使用Spring C ...