使用Nexus創(chuàng)建Docker倉(cāng)庫(kù)的方法步驟
使用 Docker 官方的 Registry 創(chuàng)建的倉(cāng)庫(kù),面臨著這樣的問題,比如刪除鏡像后空間默認(rèn)不會(huì)回收,造成空間被占用。比較常見的做法是使用 Nexus 來(lái)管理企業(yè)的工具包。
Nexus 不僅可以創(chuàng)建 Docker 倉(cāng)庫(kù),也可以 NPM、Maven 等多種類型的倉(cāng)庫(kù)。
啟動(dòng) Nexus 容器
$ docker run -d --name nexus3 --restart=always \ -p 8081:8081 \ -p 8082:8082 \ --mount src=nexus-data,target=/nexus-data \ sonatype/nexus3 Unable to find image 'sonatype/nexus3:latest' locally latest: Pulling from sonatype/nexus3 c65691897a4d: Pull complete 641d7cc5cbc4: Pull complete c508b13320cd: Pull complete 79e3bf9d3132: Pull complete Digest: sha256:2c33632ccd8f8c5f9023a3d7f5f541e271833e402219f8c5a83a29d1721457ca Status: Downloaded newer image for sonatype/nexus3:latest f637e039214978f8aac41e621e51588bd8cd8438055498c4060fbaf87799e64f
其中 8081 為 Nexus 的訪問端口,8082 為倉(cāng)庫(kù)的端口,網(wǎng)上大部分文章并沒有加上 8082 端口的映射,導(dǎo)致我在測(cè)試的時(shí)候卡了很久。
稍等一兩分鐘,瀏覽器打開 domain:8081。
點(diǎn)擊右上角 Sign in 進(jìn)行登錄,初始賬號(hào)為 admin,密碼可以通過(guò) exec 命令進(jìn)入容器內(nèi),根據(jù)提示的路徑查看初始密碼。
進(jìn)入容器查看初始密碼
$ docker exec -it f637 /bin/bash bash-4.4$ vi /nexus-data/admin.password
登陸后會(huì)被要求修改密碼,以后將使用這密碼。
創(chuàng)建倉(cāng)庫(kù)
點(diǎn)擊導(dǎo)航的齒輪按鈕進(jìn)入設(shè)置頁(yè)面,進(jìn)入 Repository->Repositories 點(diǎn)擊 Create repository 選擇 docker (hosted)
docker (hosted) 為本地倉(cāng)庫(kù),docker (proxy) 為代理倉(cāng)庫(kù),docker (group) 為聚合倉(cāng)庫(kù),本文只介紹本地倉(cāng)庫(kù),如果有興趣也可以到網(wǎng)上查找另外兩種倉(cāng)庫(kù)的用法。
只需要填好上圖中紅框的部分即可,其中 Name 為倉(cāng)庫(kù)名,HTTP 的輸入框則是填寫端口號(hào) 8082,寫好之后滑到頁(yè)面底部,點(diǎn)擊 Create repository 即創(chuàng)建倉(cāng)庫(kù)。
添加訪問權(quán)限
菜單 Security->Realms 把 Docker Bearer Token Realm 移到右邊的框中保存。
添加用戶規(guī)則:菜單 Security->Roles->Create role 在 Privlleges 選項(xiàng)搜索 docker 把相應(yīng)的規(guī)則移動(dòng)到右邊的框中然后保存。
添加用戶:菜單 Security->Users->Create local user 在 Roles 選項(xiàng)中選中剛才創(chuàng)建的規(guī)則移動(dòng)到右邊的窗口保存。
登錄倉(cāng)庫(kù)
因?yàn)槭莿?chuàng)建的倉(cāng)庫(kù)是用 HTTP 的方式訪問的,所以在登錄前需要修改 Docker 配置中的 Daemon
{ "insecure-registries": ["domain:8082"] }
$ docker login domain:8082 Username: yourName Password: Login Succeeded
上傳倉(cāng)庫(kù)、下載倉(cāng)庫(kù)、搜索倉(cāng)庫(kù) 這些內(nèi)容與上一篇文章中的一致,這里就不再贅述了。
其中需要注意的點(diǎn)為啟動(dòng) Nexus 時(shí),需要把倉(cāng)庫(kù)的端口一起映射到宿主機(jī)中。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決docker run hello-world遇到錯(cuò)誤消息-error during&n
這篇文章主要介紹了解決docker run hello-world遇到錯(cuò)誤消息-error during conne問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06docker overlay實(shí)現(xiàn)跨主機(jī)的容器互通的方法
這篇文章主要介紹了docker overlay實(shí)現(xiàn)跨主機(jī)的容器互通,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11如何將Docker的構(gòu)建時(shí)間減少40%(推薦)
這篇文章主要介紹了如何將Docker的構(gòu)建時(shí)間減少40%,本文描述了我們?cè)趦?yōu)化CI管道后獲得的一些新見解,需要的朋友可以參考下2023-11-11docker安裝elasticsearch和kibana的方法步驟
這篇文章主要介紹了docker安裝elasticsearch和kibana的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06詳解使用docker 1.12 搭建多主機(jī)docker swarm集群
本篇文章主要介紹了使用docker 1.12 搭建多主機(jī)docker swarm集群,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07詳解如何在Docker容器啟動(dòng)時(shí)自動(dòng)運(yùn)行腳本
在使用Docker構(gòu)建應(yīng)用程序時(shí),有時(shí)我們希望在啟動(dòng)Docker容器時(shí)自動(dòng)執(zhí)行一些腳本,以初始化應(yīng)用程序或執(zhí)行一些必要的操作,下面我們就來(lái)看看具體操作吧2024-03-03docker 查詢或獲取私有倉(cāng)庫(kù)(registry)中的鏡像的方法
這篇文章主要介紹了docker 查詢或獲取私有倉(cāng)庫(kù)(registry)中的鏡像的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05Docker?下MySQL數(shù)據(jù)庫(kù)的備份和恢復(fù)的操作方法
這篇文章主要介紹了Docker?下MySQL數(shù)據(jù)庫(kù)的備份和恢復(fù)操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02