Docker(六)DockerRegistry&資源限制

DockerRegistry

DockerRegistry的分類

Registry用于保存docker鏡像聂渊,包括景象的層次結(jié)構(gòu)和元數(shù)據(jù)

用戶可以自建Registry稚铣,也可以使用官方的dockerhub

  • 分類如下:

    • Sponsor Restory:第三方的registry狰住,供客戶和docker社區(qū)使用

    • Mirror Registry:第三方的registry景鼠,只供客戶使用

    • Vendor Registry: 由發(fā)布Docker鏡像的供應(yīng)商提供的Registry

    • Private Registry:通過(guò)舍友防火墻和額外安全層的私有實(shí)體提供的Registry

Docker Registry的組成

  • Repostory

    • 由特定的docker鏡像的所有迭代版本組成的鏡像倉(cāng)庫(kù)

    • 一個(gè)registry可以存在多個(gè)Repostory

      • Registory可以分為頂層倉(cāng)庫(kù)用戶倉(cāng)庫(kù)

      • 用戶倉(cāng)庫(kù)名稱更是為用戶名/倉(cāng)庫(kù)名

    • 每個(gè)倉(cāng)庫(kù)可以包含多個(gè)Tag葛菇,每個(gè)Tag只對(duì)應(yīng)一個(gè)鏡像

  • Index: 維護(hù)用戶賬戶从媚,鏡像的校驗(yàn)以及公共命名空間信息逞泄,相當(dāng)于為Registry提供了一個(gè)擁護(hù)認(rèn)證和檢索的接口

鏡像的制作 與推送

docker registry中的鏡像由開(kāi)發(fā)或者運(yùn)維人員制作,而后推送到“公共”或者“私有”Repostry上保存拜效,供其他人使用

例如: 部署到生產(chǎn)環(huán)境


image.png

Docker私有倉(cāng)庫(kù)的搭建

  • 注意事項(xiàng)

    • 生產(chǎn)環(huán)境需要構(gòu)建成高可用形式

    • 使用阿里云鏡像倉(cāng)庫(kù)喷众,創(chuàng)建私有倉(cāng)庫(kù)即可

安裝和配置私有倉(cāng)庫(kù)

docker-distribution的配置與使用

  • 配置docker-distribution

[root@centos7-node2 ~]# yum -y install docker-distribution

[root@centos7-node2 ~]# vim /etc/docker-distribution/registry/config.yml 

version: 0.1

log:

  fields:

    service: registry

storage:

    cache:

        layerinfo: inmemory

    filesystem:

        rootdirectory: /data/registry

http:

    addr: :5000

[root@centos7-node2 ~]# mkdir /data/registry

[root@centos7-node2 ~]# systemctl restart docker-distribution

  • 打tag與上傳鏡像

[root@centos7-node1 ~]# vim /etc/docker/daemon.json

{

  "bip": "172.31.0.1/16",

  "registry-mirrors": ["https://0b8hhs68.mirror.aliyuncs.com"],

  "insecure-registries": ["http://192.168.56.12:5000"],

  "storage-driver": "overlay2",

  "graph":"/data/docker",

  "storage-opts": [

    "overlay2.override_kernel_check=true"

  ]

}

[root@centos7-node1 ~]# scp /etc/docker/daemon.json 192.168.56.12:/etc/docker/

[root@centos7-node1 ~]# ssh 192.168.56.12 systemctl restart docker

[root@centos7-node1 ~]# systemctl restart docker

[root@centos7-node1 ~]# docker tag centos:7 192.168.56.12:5000/centos:7   #打標(biāo)簽

[root@centos7-node1 ~]# docker push 192.168.56.12:5000/centos:7              #上傳鏡像

[root@centos7-node1 ~]# docker tag myimg:v0.6 192.168.56.12:5000/myimg:v0.6

[root@centos7-node1 ~]# docker push 192.168.56.12:5000/myimg:v0.6       #上傳鏡像

[root@centos7-node2 v2]# docker pull  192.168.56.12:5000/myimg:v0.6

[root@centos7-node2 v2]# docker pull quay.io/coreos/flannel:v0.12.0-amd64    #獲取第三方鏡像

Harbor

  • 依賴:

    • docker: 17.06+

    • docker-compose: 1.18+

  • 部署與使用 - harbor-offline-installer-v2.0.0

    • 默認(rèn)證書(shū)模式關(guān)閉

[root@centos7-node2 ~]# yum -y install epel-release docker docker-compose

[root@centos7-node2 ~]# tar xf harbor-offline-installer-v2.0.0.tgz

[root@centos7-node2 ~]# cd harbor

[root@centos7-node2 harbor]# cp harbor.yml.tmpl harbor.yml

hostname: 192.168.56.12

# http related config

http:

  # port for http, default is 80\. If https enabled, this port will redirect to https port

  port: 80

# https related config

#https:

#  # https port for harbor, default is 443

#  port: 443

#  # The path of cert and key files for nginx

#  certificate: /your/certificate/path

#  private_key: /your/private/key/path

[root@centos7-node2 harbor]# mkdir /data/     #數(shù)據(jù)目錄默認(rèn)是/data

[root@centos7-node2 harbor]# bash install.sh   #開(kāi)始安裝

  • 登陸harbor: 默認(rèn)賬戶和密碼是(admin/Harbor12345)

  • 創(chuàng)建賬戶

  • 創(chuàng)建prod項(xiàng)目,并將創(chuàng)建的賬戶加入prod項(xiàng)目

  • 在鏡像打tag并傳到上面創(chuàng)建的prod項(xiàng)目下


[root@centos7-node1 ~]# vim /etc/docker/daemon.json 

{

  "bip": "172.31.0.1/16",

  "registry-mirrors": ["https://0b8hhs68.mirror.aliyuncs.com"],

  "insecure-registries": ["http://192.168.56.12"],

  "storage-driver": "overlay2",

  "graph":"/data/docker",

  "storage-opts": [

    "overlay2.override_kernel_check=true"

  ]

}

[root@centos7-node1 ~]# systemctl restart docker

[root@centos7-node1 ~]# docker tag php-httpd:v0.6 192.168.56.12/prod/php-httpd:v0.6

[root@centos7-node1 ~]# docker login 192.168.56.12     #使用剛創(chuàng)建好的鏡像倉(cāng)庫(kù)的賬戶登陸即可

資源限制

  • NameSpace: 資源隔離

  • Cgroups: 資源限制

內(nèi)存(memory)資源的限制

  • 常見(jiàn)參數(shù)
選項(xiàng) 描述
-m or --memory 限制最大空間的內(nèi)存紧憾,要與--memory-swap結(jié)合使用
--memory-swap 允許使用交換分區(qū)的大小(建議不啟用)
--memory-swappiness 使用交換分區(qū)的傾向性(建議不啟用)
--memory-reservation 給系統(tǒng)預(yù)留的內(nèi)存大小
--kernel-memory 給內(nèi)核預(yù)留的內(nèi)存大小
--oom-kill-disable 禁止oom而kill容器

CPU資源的限制

  • 常見(jiàn)參數(shù)
選項(xiàng) 描述
--cpus=value 指定占用cpu的容量到千,最大值是宿主機(jī)的CPU核心數(shù)(1core=1000m[微核])
--cpu-period=value 傾向性指定,1.13之后被廢棄
--cpu-quota=value 1.13之后被廢棄
--cpuset-cpus 指定跑在哪個(gè)宿主機(jī)CPU核心上赴穗,實(shí)現(xiàn)CPU綁定
--cpu-shares 共享CPU憔四,會(huì)按照配額動(dòng)態(tài)去占用宿主機(jī)cpu資源

docker-stress-ng壓測(cè)


[root@centos7-node1 ~]# docker pull lorel/docker-stress-ng

[root@centos7-node1 ~]# docker run --name stress -it --rm lorel/docker-stress-ng --help   #查看幫助

[root@centos7-node1 ~]# docker run --name stress --cpus 2 --rm lorel/docker-stress-ng -c 2   #對(duì)2核心CPU機(jī)器壓測(cè)

[root@centos7-node1 ~]# docker run --name stress --cpus 2  --cpuset-cpus 0,1 ---rm lorel/docker-stress-ng -c 2   #對(duì)2核心CPU機(jī)器壓測(cè)(只壓測(cè)第0核和第1核心)

[root@centos7-node1 ~]# docker run --name stress -m 512m --rm lorel/docker-stress-ng -vm 2   #  內(nèi)存壓測(cè)總共512m的內(nèi)存,分給兩個(gè)進(jìn)程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末般眉,一起剝皮案震驚了整個(gè)濱河市了赵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌甸赃,老刑警劉巖柿汛,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異埠对,居然都是意外死亡络断,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門项玛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)貌笨,“玉大人,你說(shuō)我怎么就攤上這事襟沮∽锻铮” “怎么了昌腰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)净刮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)硅则,這世上最難降的妖魔是什么淹父? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮怎虫,結(jié)果婚禮上暑认,老公的妹妹穿的比我還像新娘。我一直安慰自己大审,他們只是感情好蘸际,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著徒扶,像睡著了一般粮彤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上姜骡,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天导坟,我揣著相機(jī)與錄音,去河邊找鬼圈澈。 笑死惫周,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的康栈。 我是一名探鬼主播递递,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼啥么!你這毒婦竟也來(lái)了登舞?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤悬荣,失蹤者是張志新(化名)和其女友劉穎逊躁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體隅熙,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稽煤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囚戚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酵熙。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖驰坊,靈堂內(nèi)的尸體忽然破棺而出匾二,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布察藐,位于F島的核電站皮璧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏分飞。R本人自食惡果不足惜悴务,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望譬猫。 院中可真熱鬧讯檐,春花似錦、人聲如沸染服。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)柳刮。三九已至挖垛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秉颗,已是汗流浹背晕换。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留站宗,地道東北人闸准。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像梢灭,于是被迫代替她去往敵國(guó)和親夷家。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345