Docker 個人倉庫registry搭建

1. Docker版

國外鏡像真的太難拉下來了,所以采用 docker registry 來存儲鏡像供其他節(jié)點使用,
拉取registry鏡像
sudo docker pull hub.c.163.com/library/registry:2.6.0
啟動倉庫
sudo docker run -d -p 5000:5000 -v /docker/registry:/tmp/registry hub.c.163.com/library/registry:2.6.0
將各個鏡像上傳到倉庫

sudo docker tag gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.2 202.193.74.222/k8s-dns-dnsmasq-nanny-amd64:1.14.2
sudo docker push 202.193.74.222:5000/k8s-dns-dnsmasq-nanny-amd64:1.14.2

2. Harbor版

參考文獻:
harbor搭建
harbor搭建與問題修改

Harbor也是基于registry鏡像進行搭建的,可視化界面比較友好,官網(wǎng)下載分為在線版和離線版,建議用離線版,因為在線版需要自己在國外網(wǎng)站拉取鏡像,偉大的墻的威力還是有的,離線版就簡單了,直接有版本對應好的鏡像.

  • 環(huán)境與配置
    安裝環(huán)境:docker1.10+,python2.7+,docker-compose1.6.0+
    下載離線安裝包harbor-offline,配置harbor.cfg修改:
hostname = n2
db_password = admin
harbor_admin_password = admin    #這個是登錄密碼
  • 啟動與訪問
    通過docker-compose.yml修改端口號
    再通過./prepare來更新配置
    之后進行./install.sh來安裝
    最后通過docker-compose up -d來啟動
    啟動后通過n2:80來訪問倉庫

  • 登錄與上傳
    先進行登錄docker login n2:80提示Login Succeeded為安裝成功
    注:這里上傳需要先在web端建好項目名,比如上傳到倉庫名library中:

sudo docker tag n2:80/library/test:v1
sudo docker push n2:80/library/test:v1

3. Errors

E1:

test@Test1:~$ sudo docker push 202.193.74.222:5000/test:latest
# ERROR
The push refers to a repository [202.193.74.222:5000/test]
Get https://202.193.74.222:5000/v1/_ping: http: server gave HTTP response to HTTPS client

解決方法1:
/etc/docker/目錄下丁存,創(chuàng)建daemon.json文件极舔。在文件中寫入:

{ "insecure-registries":["ip:5000"] }

解決方法2:
Centos中vim /etc/sysconfig/docker,在文件中添加:

ADD_REGISTRY='--add-registry e2:80'
INSECURE_REGISTRY='--insecure-registry e2:80'

解決方法3:
Ubuntu中vim /etc/default/docker,在文件中添加:

DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --insecure-registry=n2:80"

重啟dockersudo systemctl restart docker
E2:

test@Test1:~$ sudo docker push n2:80/library/test:v1

85782553e37a: Waiting   
745f5be9952c: Waiting   
denied: requested access to the resource is denied 

解決方法1:
先登錄才可以上傳,進行登錄操作

解決方法2:
用hosts名稱會異常,建議直接使用ip

E3:

ERROR: for proxy  Cannot start service proxy: driver failed programming external connectivity on endpoint nginx (fdeb3e538d5f8d714ea5c79a9f3f127f05f7ba5d519e09c4c30ef81f40b2fe77): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use

端口占用問題,可以通過修改端口來完成,在harbor/docker-compose.yml中修改,比如此處的80端口修改為8080操作如下:

  proxy:
    image: vmware/nginx:1.11.5-patched
    container_name: nginx
    restart: always
    volumes:
      - ./common/config/nginx:/etc/nginx:z
    networks:
      - harbor
    ports:
      - 8080:80
      - 444:443
      - 4443:4443
    depends_on:
      - mysql
      - registry
      - ui
      - log
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "proxy"

注意這里修改了之后在上面問題E1,E2中的修改也端口

4. Shells

批量上傳腳本push_images.sh

#!/bin/bash
images=(kube-proxy-amd64:v1.6.6 kube-scheduler-amd64:v1.6.6 kube-controller-manager-amd64:v1.6.6 kube-apiserver-amd64:v1.6.6 etcd-amd64:3.0.17 pause-amd64:3.0 kubernetes-dashboard-amd64:v1.6.1 k8s-dns-sidecar-amd64:1.14.2 k8s-dns-kube-dns-amd64:1.14.2 k8s-dns-dnsmasq-nanny-amd64:1.14.2  etcd:v3.1.5)
for imageName in ${images[@]} ; do
  sudo docker tag gcr.io/google_containers/$imageName e2:5000/$imageName
  sudo docker push e2:5000/$imageName
  sudo docker rmi e2:5000/$imageName
done

批量下載腳本pull_images.sh

#!/bin/bash## 標題 ##
images=(kube-proxy-amd64:v1.6.6 kube-scheduler-amd64:v1.6.6 kube-controller-manager-amd64:v1.6.6 kube-apiserver-amd64:v1.6.6 etcd-amd64:3.0.17 pause-amd64:3.0 kubernetes-dashboard-amd64:v1.6.1 k8s-dns-sidecar-amd64:1.14.2 k8s-dns-kube-dns-amd64:1.14.2 k8s-dns-dnsmasq-nanny-amd64:1.14.2  etcd:v3.1.5)
for imageName in ${images[@]} ; do
  sudo docker pull e2:5000/$imageName
  sudo docker tag e2:5000/$imageName gcr.io/google_containers/$imageName
  sudo docker rmi e2:5000/$imageName
done
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昆箕,一起剝皮案震驚了整個濱河市似扔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌垄惧,老刑警劉巖刁愿,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異到逊,居然都是意外死亡铣口,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門觉壶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脑题,“玉大人,你說我怎么就攤上這事铜靶∈逅欤” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵旷坦,是天一觀的道長掏熬。 經(jīng)常有香客問我,道長秒梅,這世上最難降的妖魔是什么旗芬? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮捆蜀,結果婚禮上疮丛,老公的妹妹穿的比我還像新娘幔嫂。我一直安慰自己,他們只是感情好誊薄,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布履恩。 她就那樣靜靜地躺著,像睡著了一般呢蔫。 火紅的嫁衣襯著肌膚如雪切心。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天片吊,我揣著相機與錄音绽昏,去河邊找鬼。 笑死俏脊,一個胖子當著我的面吹牛全谤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播爷贫,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼认然,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了漫萄?” 一聲冷哼從身側(cè)響起卷员,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卷胯,沒想到半個月后子刮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡窑睁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年挺峡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片担钮。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡橱赠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出箫津,到底是詐尸還是另有隱情狭姨,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布苏遥,位于F島的核電站饼拍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏田炭。R本人自食惡果不足惜师抄,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望教硫。 院中可真熱鬧叨吮,春花似錦辆布、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涵叮,卻和暖如春惭蹂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背围肥。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工剿干, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人穆刻。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像杠步,于是被迫代替她去往敵國和親氢伟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容