4. docker私有倉庫

1 使用registry鏡像

1.1 搭建私有倉庫

1.1.1 拉取鏡像

docker pull  registry

1.1.2 映射目錄

默認情況下,Registry存放鏡像的目錄是/var/lib/registry劈猿,如果容器被刪除,則存放在容器中的鏡像也會丟失朝氓。所以映射一個host的目錄到容器的/var/lib/registry,使用-v參數(shù)

1.1.3 映射端口

Registry服務默認使用5000端口

1.1.4 拉起registry容器

將host目錄/opt/registry映射給鏡像目錄/var/lib/registry

docker run -d --name registry \
-p 5000:5000 \
--restart always \
--name registry \
-v /opt/registry:/var/lib/registry \
registry

1.1.5 查看私有倉庫列表

訪問http://host主機IP地址:5000/v2/_catalog,沒有鏡像時,返回{"repositories":[]}

1.2 使用私有倉庫

配置/etc/docker/daemon.json文件梆造,insecure-registries代表是http模式的倉庫

mkdir -p /etc/docker/
cat > /etc/docker/daemon.json <<EOF
{
  "insecure-registries" : ["172.16.19.53:5000"]
}
EOF

1.3 上傳鏡像

1.3.1 給鏡像打tag

docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]
示例:
busybox:latest鏡像打tag,新tag表明屬于172.16.19.53:5000倉庫葬毫,新名稱為busybox镇辉,版本為v1

docker tag busybox:latest 172.16.19.53:5000/busybox:v1

1.3.2 上傳鏡像

docker push [OPTIONS] NAME[:TAG]

docker push 172.16.19.53:5000/busybox:v1

1.3.3 檢查倉庫中的鏡像

訪問http://172.16.19.53:5000/v2/_catalog

curl http://172.16.19.53:5000/v2/_catalog
{"repositories":["busybox"]}

1.3.4 檢查倉庫中鏡像的版本

訪問http://172.16.19.53:5000/v2/鏡像名/tags/list

1.4 下載鏡像

docker pull 172.16.19.53:5000/busybox:v1
在拉取私有倉庫的鏡像時,需要寫出全部的REGISTRY_HOST(172.16.19.53)供常、REGISTRY_PORT(5000)摊聋、TAG(v1)信息鸡捐。

1.5 刪除鏡像

進入registry容器

docker exec -it registry /bin/sh

刪除repo

rm -rf /var/lib/registry/docker/registry/v2/repositories/鏡像名

清除blob

registry garbage-collect /etc/docker/registry/config.yml

1.6 使用基礎認證

生成秘鑰文件

yum install -y httpd-tools
mkdir -p /opt/registry-var/auth/
htpasswd -Bbn 用戶名 密碼 > /opt/registry-var/auth/htpasswd

啟動registry容器

docker run -d \
  -p 5000:5000 \
  --restart=always \
  --name registry \
  -v /opt/registry-var/auth:/auth \
  -v /opt/registry:/var/lib/registry \
  -e "REGISTRY_AUTH=htpasswd" \
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
  registry

2 使用Harbor

2.1 安裝

下載最新版本的安裝包https://github.com/goharbor/harbor/releases/

wget https://github.com/goharbor/harbor/releases/download/v2.3.2/harbor-offline-installer-v2.3.2.tgz

解壓縮壓縮包

tar -zxvf harbor-offline-installer-v2.3.2.tgz

安裝時的配置文件harbor.yml修改

cp harbor.yml.tmpl harbor.yml

vim harbor.yml
...
# 修改hostname
hostname: 172.16.19.53

# 修改系統(tǒng)admin密碼
harbor_admin_password: 123456

# 如果是http部署栈暇,將以下https的內(nèi)容注釋掉
#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

運行安裝腳本,需確保80和443端口沒有被占用箍镜,且沒有與nginx源祈、harbor-jobserviceharbor-core色迂、redis香缺、harbor-portalharbor-db歇僧、registryctl图张、registry锋拖、harbor-log同名的容器正在運行

./install.sh

2.2 Harbor web端使用

Harbor以項目管理鏡像,登陸頁面http://172.16.19.53后新建項目祸轮,后續(xù)上傳下載鏡像在項目中

2.2.1 新建項目

項目公開時兽埃,不需要docker login就可以拉取鏡像


2.2.2 推送鏡像

首先配置daemon.json,添加私有倉庫

vim /etc/docker/daemon.json

{
  ...,
  "insecure-registries" : ["172.16.19.53"]
}

給鏡像打標簽
語法docker tag SOURCE_IMAGE[:TAG] 172.16.19.53/項目/REPOSITORY[:TAG]

docker tag busybox:latest 172.16.19.53/test/busybox:v1

登陸私有倉庫

docker login 172.16.19.53

推送鏡像

docker push 172.16.19.53/test/busybox:v1

2.2.3 下載鏡像

2.3 配置https

安裝時的配置文件harbor.yml修改

cp harbor.yml.tmpl harbor.yml

vim harbor.yml
...
# 修改hostname
hostname: bigsky.tk

# 修改系統(tǒng)admin密碼
harbor_admin_password: 123456


https:
  # https port for harbor, default is 443
  port: 443
  # 填寫服務器證書和私鑰的路經(jīng)
  certificate: /root/server.crt
  private_key: /root/server.key

如果是自簽名的證書适袜,需要將服務器的證書柄错、私鑰、CA的證書拷貝到/etc/docker/certs.d/bigsky.tk/目錄下苦酱,服務器的證書為.cert后綴售貌,服務器私鑰為.key后綴,CA的證書為.crt后綴疫萤。
文件結構如下

/etc/docker/certs.d/
└── bigsky.tk
    ├── CA.crt
    ├── server.cert
    └── server.key

停止harbor颂跨,重啟docker

cd /root/harbor && docker-compose down
systemctl restart docker
docker-compose up -d

修改服務器hosts文件

vim /etc/hosts
...
172.16.19.53 bigsky.tk

登陸和push、pull時使用域名bigsky.tk

docker login bigsky.tk
docker tag registry bigsky.tk/test/registry
docker push bigsky.tk/test/registry
docker pull bigsky.tk/test/registry:latest
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末给僵,一起剝皮案震驚了整個濱河市毫捣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌帝际,老刑警劉巖蔓同,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蹲诀,居然都是意外死亡斑粱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門脯爪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來则北,“玉大人,你說我怎么就攤上這事痕慢∩写В” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵掖举,是天一觀的道長快骗。 經(jīng)常有香客問我,道長塔次,這世上最難降的妖魔是什么方篮? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮励负,結果婚禮上藕溅,老公的妹妹穿的比我還像新娘。我一直安慰自己继榆,他們只是感情好巾表,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布汁掠。 她就那樣靜靜地躺著,像睡著了一般集币。 火紅的嫁衣襯著肌膚如雪调塌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天惠猿,我揣著相機與錄音羔砾,去河邊找鬼。 笑死偶妖,一個胖子當著我的面吹牛姜凄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趾访,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼态秧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了扼鞋?” 一聲冷哼從身側(cè)響起申鱼,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎云头,沒想到半個月后捐友,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡溃槐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年匣砖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昏滴。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡猴鲫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谣殊,到底是詐尸還是另有隱情拂共,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布姻几,位于F島的核電站宜狐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鲜棠。R本人自食惡果不足惜肌厨,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一培慌、第九天 我趴在偏房一處隱蔽的房頂上張望豁陆。 院中可真熱鬧,春花似錦吵护、人聲如沸盒音。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祥诽。三九已至譬圣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雄坪,已是汗流浹背厘熟。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留维哈,地道東北人绳姨。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像阔挠,于是被迫代替她去往敵國和親飘庄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

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