docker學習及專案應用實戰(五搭建自己的私有倉庫)
引言
在 Docker 中,執行 docker pull xxx 的時候 ,它實際上是從 registry.hub.docker.com 這個地址去查詢,這就是Docker公司為我們提供的公共倉庫。在實際工作中,公司不太會允許把企業專案push到公有倉庫進行管理。所以為了更好的管理映象,Docker不僅提供了一箇中央倉庫,同時也允許我們搭建本地私有倉庫。搭建私有倉庫的方法有兩種registry、harbor。第一種方法是官方提供的一個搭建私有倉庫的映象 registry ,只需把映象下載下來,執行容器並暴露5000埠,就可以使用了。但這種方法命令簡單,但管理的功能上存在不足,所以我選擇了第二種方法。
搭建過程
下載
地址:https://github.com/goharbor/harbor/releases 目前版本是v2.1.2,不知道是家裡的網路問題,還是下載源限速(此可能性比較大),下載竟然需要7個小時,沒有耐心的我再次求助百度雲。只找到了1.1.2版本,勉強用吧。
配置
解壓下載的安裝包 harbor-offline-installer-v1.1.2.tgz
tar -xvf harbor-offline-installer-v1.1.2.tgz
修改 harbor.cfg
#hostname 改為本地ip,可以不指定埠
hostname = 192.168.31.143:2080
執行./install.sh即可構建映象,並把服務啟動起來:
#./install.sh
harbor的停止:
#/usr/local/bin/docker-compose stop
常見問題解決
問題一docker-compose未安裝
安裝harbor時出現docker-compose未安裝的錯誤。
安裝docker-compose非常簡單,首先保證伺服器上安裝了pyton,docker-compose已經不支援python2的版本了,用python2安裝後執行會報錯,早期版本的linux自帶的python都是python2,所以需要先裝一個python3,然後輸入一下命令:
#pip install docker-compose
安裝的時間會比較長,耐心等等,預設安裝目錄在 /usr/local/bin/目錄下,安裝後執行一下命令檢查結果:
#docker-compose --version
docker-compose version 1.27.4, build unknown
中間還遇到用pyton2安裝的各種問題,建議就不要去挑戰了,裝個python3解決一切問題。
問題2 harbor 埠占用問題(埠對映)
harbor預設埠是80,但是我的80埠已經被git倉庫佔用了。所以在安裝啟動的時候失敗,報錯為:埠被佔用。所以我將埠修改為2080。
第一次嘗試修改harbor.cfg檔案
#The IP address or hostname to access admin UI and registry service.
#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname = 127.0.0.0:2020
儲存後,重新啟動hardor,仍然不成功,報埠被佔用,尷尬了。
第二次嘗試在hardor目錄下修改docker-compose.yml檔案將8080埠對映為2080埠:
#vi docker-compose.yml
proxy:
image: nginx:1.11.5
container_name: nginx
restart: always
volumes:
- ./common/config/nginx:/etc/nginx
ports:
- 2080:80
- 443:443
depends_on:
- mysql
- registry
- ui
- log
儲存後,重啟,總算大功告成,但是此時要提醒,第一步將埠改成2020,是沒有用的,而且在啟動的時候還會出現一下程式碼片段,是及其具有迷惑性的,實際訪問的埠應該是2080,所以第一步的修改是非常多餘和錯誤的(這個埠或許是有用的,後面使用的時候會再做介紹)。
✔ ----Harbor has been installed and started successfully.----
Now you should be able to visit the admin portal at http://ip:2020 .
For more details, please visit https://github.com/vmware/harbor .
相關文章
- 用Docker搭建cnpm私有倉庫以及私有倉庫的使用DockerNPM
- 雲端計算 之 Docker--Docker 應用實戰案例--基於 registry 搭建私有倉庫Docker
- docker 私有倉庫搭建Docker
- docker搭建私有倉庫Docker
- 【Harbor學習筆記】-教你快速搭建Docker私有倉庫筆記Docker
- Docker搭建Harbor私有倉庫Docker
- Docker搭建私有映象倉庫Docker
- Docker入門-搭建docker私有倉庫Docker
- Docker-------私有倉庫 Harbor 的搭建Docker
- docker筆記37-docker私有倉庫的搭建Docker筆記
- Docker基礎-搭建本地私有倉庫Docker
- Docker搭建私有倉庫Registry&HarborDocker
- docker使用容器搭建本地私有倉庫Docker
- 使用 docker + verdaccio 搭建npm私有倉庫DockerNPM
- Docker倉庫之Registry私有映象倉庫的搭建與使用Docker
- Docker容器學習梳理 - 私有倉庫Registry使用Docker
- 私有Docker倉庫Docker
- Docker搭建官方私有倉庫registry及相關配置(推薦registry)Docker
- 手把手教你搭建Docker私有倉庫HarborDocker
- Docker建立私有倉庫Docker
- Docker信任私有倉庫Docker
- NPM 私有倉庫的搭建NPM
- 8天入門docker系列 —— 第六天 搭建自己的私有映象倉庫RegistryDocker
- Docker Hub 倉庫使用,及搭建 Docker RegistryDocker
- 程式設計師都在學的docker--搭建harbor私有倉庫與管理程式設計師Docker
- Docker registry私有倉庫(七)Docker
- golang 專案引入私有倉庫包Golang
- gitlab私有倉庫搭建Gitlab
- 搭建python私有倉庫Python
- golang專案引用GitHub私有倉庫moduleGolangGithub
- Docker私有倉庫之Harbor神器Docker
- Dockerfile指令與Docker-compose容器編排-搭建docker私有倉庫Docker
- Docker 命令大全及應用實戰Docker
- 用 Docker 部署前端?你有私有映象倉庫嗎Docker前端
- Docker 離線安裝 & 離線私有倉庫搭建總結Docker
- 微服務探索之路03篇-docker私有倉庫Harbor搭建+Kubernetes(k8s)部署私有倉庫的映象微服務DockerK8S
- 使用verdaccio搭建私有npm倉庫NPM
- 搭建私有的Composer倉庫