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. [Bayes] KL Divergence & Evidence Lower Bound

    L lower是什么? L lower, 既然大于,那么多出来的这部分是什么?如下推导: 得出了KL的概念,同时也自然地引出了latent variable q.

  2. [Node.js] 04 - Event and Callback

    回调函数 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数. 异步读取文件的回调函数: var fs = require("fs&quo ...

  3. ASP.NET MVC 4 (六) 帮助函数

    帮助函数封装一些代码,方便我们在应用程序中重用,MVC内建很多帮助函数,可以很方便的生成HTML标记.首先列出后面示例中用到的数据模型类定义: namespace HelperMethods.Mode ...

  4. &与&问题

    1.后台传到前端的url,如果有&会被前端解析成&的(直接js获取的时候),所以最好是将数值放到input中,然后再获取

  5. apache 设置环境变量

    在apache设置环境变量有什么好处: 提高代码的可移植性,不用因为换服务器而改项目代码

  6. 杭电ACM 1297 Children’s Queue

    这道题是排序问题,可以用递归方法解决. 计算F(n): 一:当最后一个是男孩M时候,前面n-1个随便排出来,只要符合规则就可以,即是F(n-1): 二:当最后一个是女孩F时候,第n-1个肯定是女孩F, ...

  7. IBatisNet不常用到的配置(Dao.config ConnectionTimeout),居然不起作用(前辈留给我们的坑)

    IBattis 默认超时时间好像是30s,可多于这个时间总就会报错:DaoProxy : unable to intercept method name 'ExcuteQuery', cause : ...

  8. 树剖+线段树||树链剖分||BZOJ1984||Luogu4315||月下“毛景树”

    题面:月下“毛景树” 题解:是道很裸的树剖,但处理的细节有点多(其实是自己线段树没学好).用一个Dfs把边权下移到点权,用E数组记录哪些边被用到了:前三个更新的操作都可以合并起来,可以发现a到b节点间 ...

  9. [No0000BC]ADO.NET中的几个主要对象

    ADO 指 ActiveX 数据对象(ActiveX Data Objects). 从一个 ASP 页面内部访问数据库的通常的方法是: 创建一个到数据库的 ADO 连接 打开数据库连接 创建 ADO ...

  10. 【作业】DS稀疏矩阵

    写了两个小时,书上代码好难看啊 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #in ...