私有DockerHub搭建

2021-09-25 07:37:24 字數 2487 閱讀 5010

乙個開源的應用容器引擎,可以用來打包程式,可以包入依賴環境,這樣只需要提供docker image即可,類似於虛擬機器,但是更輕量級。

幾個概念:

paas,platform as a service,caas container as a service。

映象:檔案的層次結構以及包含如何執行容器的源資料,類似虛擬機器中安裝系統的iso檔案。

容器:從映象建立的執行例項,可以被啟動、開始、停止、刪除。 類似於安裝好的虛擬機器系統。

倉庫:存放映象的倉所,倉庫註冊伺服器上有多個倉庫,每個倉庫有多個映象,每個映象有多個tab。和git做模擬的話,dockerhub類似github,裡面有很多專案,專案類似於映象,每個專案有多次提交,對應映象的多個tag

1,實現應用隔離,多個應用可能會相互影響,通過使用docker可以使相互分離,比如搭建禪道系統會用到lnamp,而其他的一些也會用到,雖然通過配置也能分割【目前現狀,但是不夠直觀,而且conf檔案寫的比較亂,可能是水平差,不過不想花太多精力在這個上面,畢竟配置不是目的】,但是使用docker會更方便整潔,比如本地81埠提供a服務,82埠提供b服務,只需要ngix中配置**即可。

3,方便遷移,在任意一台電腦上,無論是伺服器還是本地,進行實驗測試,完成後發布只需要將對應的image移過去即可,之前則是在本地做一遍,好了再在server上做一遍,雖說熟能生巧,可是浪費時間,而且不必要,畢竟根本目的是開發某個功能,不是為了部署和維護。

4,體積小。之前有用過虛擬機器,利用快照功能備份,但是檔案太大了,難以通過u盤移動拷貝,docker image一般幾十兆到一兩百兆,大的也才乙個多g,很輕易可以通過u盤拷貝。

5,映象多,dockerhub上有很多公開image,只需要找到合適的映象,在上面進行修改即可。

6,占用資源少,如果想要虛擬機器流暢執行,至少2g或者4g的內容,16g頂多開四五個虛擬機器,而docker可以執行很多個。

docker需要管理員許可權執行,下面省略sudo

man docker會給出文件說明

docker 或者docker /? 或者docker --help 給出幫助文件

docker login   //進行登入,使用者名稱不帶郵箱@以及後面的部分

docker search *** //以***為關鍵字在dockerhub上搜尋

docker images //檢視本地的docker

會列出repository  tag  imageid created size等資訊

docker ps // 檢視執行中的container

會列出containerid  image command created status ports等資訊

docker start/stop/restart containerid   //停止某個container,可以只輸入部分,只要能夠做出區分即可,比如container少的時候只輸入一兩位就夠了

docker port containerid //檢視該container port對映關係

docker commit containerid  repository:tag //當在docker內做出某些修改後,可以用這個命令建立新的image,類似虛擬機器的快照功能

docker exec //進入某個container內,如docker exec -it /bin/bash

docker rmi imageid //刪除映象

之所以搭建私有dockerhub,主要因為是要做的事情都是具體的針對個人的,如果提交到dockerhub上一來浪費公共資源,二來可能不經意間洩露個人資訊,而且鑑於前面提到的備份功能,可能會頻繁的commit,而私有dockerhub有在本地搭建,可以提高效率。

由於對docker還處於簡單使用的階段,就直接使用了別人做好的image。

使用sudo docker login,登入

此時可以通過瀏覽器訪問本地的5000埠***:5000/v2/

需要參照修改/etc/docker/daemon.json檔案,如果不存在則建立乙個:

重啟

sudo /etc/init.d/docker restart
git docker pull jmoger/gitblit

給這個image打上tag,得到乙個新的image:

sudo docker tag jmoger/gitblit 192.168.50.186:5000/gitblit    //根據時間情況設定ip

然後就可以提交到自己的私有dockerhub上了

sudo docker push 192.168.50.186:5000/gitblit

可以在docker內進行開發,然後用這種方式同步開發環境。比如做禪道系統的二次開發,在公司內做了一部分,docker提交到自己的dockerhub上,回去後pull下來可以繼續做,無論code還是環境都完全一樣。如果通過git同步code,還需要確保兩邊有同樣的環境,如果通過虛擬機器同步,匯出匯入虛擬機器需要不少時間,而且虛擬機器需要配置一些東西,安裝必要的軟體之後未必能夠通過u盤攜帶,而且讀寫十幾g甚至幾十g的內容也需要不少時間。

搭建私有雲

系統環境 win10 在安裝前在虛擬機器網路設定處新增host only網路用作後面的網路互聯,安裝時記得開啟虛擬機器的兩個網路,或者在之後自己手動開啟,不然就無法連線到網路上。先建立網絡卡,建議開啟dhcp服務 接下來執行yum y update命令進行os核心公升級。這時候直接用ssh也可以登入...

Cocoapods搭建私有庫

想要建立自己的私有庫,還需要建立另外乙個git倉庫去維護裡面所有的其他私有庫的版本,比如這個倉庫取名為specs.git。這個specs.git維護的是你所有的其他私有庫的版本號對應的podspec檔案。目錄如下所示 在伺服器端建立私有庫 注意 建立git倉庫必須用git賬號登入建立才能有效,如果用...

docker搭建私有倉庫

registry映象 docker pull registry 二 通過該映象啟動乙個容器 docker run d p 5000 5000 v opt data registry tmp registry registry 注 預設情況下,會將倉庫存放於容器內的 tmp registry目錄下,這...