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. SQL Server -- stuff 函数

    STUFF 删除指定长度的字符并在指定的起始点插入另一组字符. 语法 STUFF ( character_expression , start , length , character_express ...

  2. 正则表达式、re模块

    正则表达式 一说规则我已经知道你很晕了,现在就让我们先来看一些实际的应用.在线测试工具 http://tool.chinaz.com/regex/ 正则表达式是用来匹配字符串非常强大的工具,在其他编程 ...

  3. 01List.ashx(班级列表动态页面)

    01List.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <he ...

  4. javascript parseUrl函数(来自国外的获取网址url参数)

    function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, pr ...

  5. myspl数据库基础

      mysql数据库sql 语句大全收录---sql语句不区分大小写 启动/停止 net start   mysql net stop   mysql 用户登录 mysql -uroot -p    ...

  6. 阿里云不同账号之间相同地域的VPC网络互访

    今天实际操作了一下,在这篇随笔中记录一下以备忘,主要参考阿里云帮助文档-不同账号下专有网络内网互通. 实现场景:账号A的VPC网络中的ECS访问账号B的VPC网络中的ECS与RDS(地域都在华东1), ...

  7. MySQL 聚合函数以及 优先级

    1 from  2 where  3 group by      4 having     5select    6distinct  7 order by  8 limit sum 求和   avg ...

  8. [No000012D]WPF(5/7)依赖属性

    介绍 WPF带来了很多传统 Windows 应用程序没有的新特性和选择.我们已经讨论了一些 WPF 的特性,是时候更进一步介绍其他特性了.当你读完这个系列之前的文章,我希望你已经或多或少地了解了 WP ...

  9. 国庆JAVA作业

    动手动脑1 运行enumtest.java程序我明白了JAVA中枚举类型,s和t不能引用同一个对象.不是原始对象,可以实现从字符串中的转换. 动手动脑2 原码就是符号位加上真值的绝对值, 即用第一位表 ...

  10. 【绿书】 模拟,rep大坑

    https://vjudge.net/contest/229603#problem/B 绿书题 大模拟,绿书上用了个比较麻烦的输入,其实只要getchar()!='0'就行 坑: rep(i,0,s. ...