docker創建私有倉庫

来源:http://www.cnblogs.com/fengzheng/archive/2016/02/01/5168951.html
-Advertisement-
Play Games

由於網速和大中華區域網效果,使得我們在DockerHub下載鏡像的速度很慢,甚至一些國內的鏡像倉庫,也感覺速度不是很好。所以,很有必要在本地或者一個我們訪問很快速的地方(自己的雲伺服器)搭建一套鏡像倉庫。有了這樣一個倉庫,不僅可以提高下載速度,而且可以增加我們個性化定製的鏡像,以備後續使用。這篇將介


由於網速和大中華區域網效果,使得我們在DockerHub下載鏡像的速度很慢,甚至一些國內的鏡像倉庫,也感覺速度不是很好。所以,很有必要在本地或者一個我們訪問很快速的地方(自己的雲伺服器)搭建一套鏡像倉庫。有了這樣一個倉庫,不僅可以提高下載速度,而且可以增加我們個性化定製的鏡像,以備後續使用。這篇將介紹怎樣搭建本地鏡像。

話外篇,配置docker代理

如果有一個很快的代理,當然也可以直接通過配置docker代理,以達到快速下載鏡像的目的。在搭建本地鏡像的過程也需要從DockerHub上下載完整鏡像文件,如果訪問緩慢的話,下載將會非常緩慢。設置代理的方法非常簡單,這裡以CentOS6.5為例。

找到/etc/default/docker,打開編輯,找到下麵export http_proxy部分,去掉註釋並修改為自己的代理即可。

# Docker Upstart and SysVinit configuration file

# Customize location of Docker binary (especially for development testing).
#DOCKER="/usr/local/bin/docker"

# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

# If you need Docker to use an HTTP proxy, it can also be specified here.
export http_proxy="http://xxxx:port"

# This is also a handy place to tweak where Docker's temporary files go.
#export TMPDIR="/mnt/bigdrive/docker-tmp"
DOCKER_OPTS="--insecure-registry dl.dockerpool.com:5000"

創建私有倉庫

本文記錄以Docker官方提供的鏡像Registry 創建本地私有倉庫,創建方式和啟動一個普通鏡像的方式是一樣。

1.在私有倉庫伺服器快速創建鏡像倉庫,運行如下代碼:

docker run -p 5000:5000 registry:2.0

運行上述命令後,會從DockerHub上拉取registry鏡像併在本地啟動Registry服務,並監聽5000埠。 

2.列出本地鏡像

docker images

  

可以看到registry的鏡像和一個本地ubuntu:12.04的鏡像

3.重新標記一個本地鏡像為私有倉庫的版本,這裡將本地的ubuntu 12.04標記為localhost:5000/ubuntu:1204。

docker tag ubuntu:12.04 localhost:5000/ubuntu:1204

再次查看鏡像可以看到多了一個標記為localhost:5000/ubuntu:1204的鏡像

4.將本地鏡像推送到本地倉庫中

docker push localhost:5000/ubuntu:1204

5.查看本地倉庫中的鏡像列表

curl http://localhost:5000/v2/ubuntu/tags/list

結果如下:

{"name":"ubuntu","tags":["1204"]}

 6.從本地倉庫拉取一個鏡像,在這之前先執行如下命令移除本地未使用的鏡像,保證從本地倉庫拉取的鏡像不是從緩存中獲取。

 docker rmi -f $(docker images -q -a )

之後再查看鏡像,只剩下registry這個鏡像

拉取本地倉庫中的鏡像

docker pull localhost:5000/ubuntu:1204

Unable to find image 'localhost:5000/ubuntu:1204' locally
1204: Pulling from localhost:5000/ubuntu
b796a17a2688: Pull complete 
273721eafe54: Pull complete 
7dd38dbb5eda: Pull complete 
32190de3770a: Already exists

之後查看鏡像如下:

  

最後正常啟動

docker run --name mytestubuntu localhost:5000/ubuntu:1204 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.下載jdk.tar.gz文件 2.解壓jdk 命令:$sudo tar zxvf ./jdk.tar.gz 3.將解壓後的jdk放在/usr/lib/jvm下 4.查看本機是否還有jiava可選 命令:$sudo update-altematives--list java 如果沒有,下一步 5.
  • 問題描述: 我的 Arch Linux 已經用了快半年多,由於 Arch Linux 的滾掛問題,我從沒有直接升級過系統。軟體版本以及庫自然落後了一些。 就在我準備需要用到 NFS 時,掛載網路文件系統時由於 librpc 太舊而失敗了。所以看來我得更新 librpc 了。用 yaourt -Ss
  • 作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 典型的UNIX系統都支持一個進程創建多個線程(thread)。在Linux進程基礎中提到,Linux以進程為單位組織操作,Linux中的線程也都基於進程。儘管實現方式有異於其它的UN
  • NodeMCU 的文檔裡面終於發現,ESP8266 的GPIO 2 確實是 PIN 4,GPIO 0 是 PIN 3。 https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_cn 話說,這個 API 不是給地球人看的。按照說明,ne...
  • 1.切換到root用戶下 2.添加sudo文件的寫許可權,命令是:chmod u+w /etc/sudoers 3.編輯sudoers文件vi /etc/sudoers找到這行 root ALL=(ALL) ALL,在他下麵添加xxx ALL=(ALL) ALL (這裡的xxx是你的用戶名)ps:這裡...
  • 一、PD虛擬機的安裝1、Parallels Desktop ,簡稱PD,號稱是Mac上最好用的虛擬機,具體的就在此不進行過多描述。下附Mac .app文件夾下載,下載後放入/Applications/文件夾下即可。 安裝完成後如圖 2、打開PD,運行效果如下 運行效果 點擊此處進行下載(後期提供網盤
  • Windows2012安裝IIS和FTP 1、打開Windows 2012的伺服器管理器,選擇 管理→添加角色和功能 2、進入 添加角色和功能嚮導,選擇 “Web伺服器(IIS)” 3、根據情況選擇對應功能,這裡選擇.Net3.5 4、安裝角色服務,選擇對應的安全性選項,如圖: 5、選擇“FTP服務
  • 一、簡介 Redis是一種高級key-value資料庫。它跟memcached類似,不過數據可以持久化,而且支持的數據類型很豐富。有字元串,鏈表,集 合和有序集合。支持在伺服器端計算集合的並,交和補集(difference)等,還支持多種排序功能。所以Redis也可以被看成是一個數據結構服務 器。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...