Centos7 Docker私有倉庫搭建

Centos7 Docker私有倉庫搭建

倉庫:集中存放鏡像的地方,可分為公共倉庫和私有倉庫
(公共倉庫"http://hub.docker.com"或國內的"http://www.daocloud.io")

Registry:注冊服務器才是存放倉庫具體的服務器(Registry),每個服務器上都可以放置多個倉庫,而每個倉庫上可以放置多個鏡像,每個鏡像上可以運行多個容器,每個容器上可以跑一個應用或應用組。

搭建docker倉庫有兩種方式:

方式一:在同一臺服務器搭建倉庫和客戶端(屬于本地搭建)
方式二:兩臺服務器一個是倉庫,一個是客戶端(屬于本地搭建)
注:本文使用方式二搭建,也建議在真實環境中使用這種方式搭建!

環境:

系統:兩臺centos7 -3.10.0-327.el7.x86_64
Docker版本:docker-1.13.1-63
IP:Docker客戶端地址:192.168.152.158
Docker私有倉庫地址:192.168.152.159
注:清空并關閉以上環境主機的防火墻和selinux

關閉防火墻 systemctl stop firewalld.service
禁止防火墻開機自啟 systemctl disable firewalld.service

關閉selinux sed -i 's/SELINUX=enforcing /SELINUX=disabled/g'
/etc/sysconfig/selinux

重啟 reboot

一、安裝Docker客戶端:192.168.152.158(第一臺服務器)

本文基于上一篇docker安裝文章繼續搭建的,在安裝docker客戶端部分大家可以參考上一篇文章:安裝Docker
1、指定私有倉庫服務器地址及端口 vi /etc/sysconfig/docker
OPTIONS='--insecure-registry 192.168.152.159:5000'
Centos7 Docker私有倉庫搭建
注:修改/etc/sysconfig/docker(Ubuntu下配置文件地址為:/etc/init/docker.conf),增加啟動選項(已有參數的在后面追加),之后重啟docker,不添加報錯,https證書問題。

//重啟docker systemctl restart docker

二、搭建Docker私有倉庫:192.168.152.159(第二臺服務器)

1、安裝docker yum -y install docker
Centos7 Docker私有倉庫搭建

2、升級依賴包 yum -y install upgrade device-mapper-libs
Centos7 Docker私有倉庫搭建

3、啟動docker服務 systemctl start docker

4、開機自啟docker服務 systemctl enable docker

5、查看docker版本信息 docker version

6、下載registry鏡像(該鏡像用于構建本地私有倉庫環境)
docker pull registry
Centos7 Docker私有倉庫搭建
注:由于國內網絡問題直接連接官網下載可能會超時,可以重試幾次。
//查看下載registry鏡像 docker images
Centos7 Docker私有倉庫搭建

//遞歸創建鏡像存放目錄 mkdir -p /opt/data/registry
Centos7 Docker私有倉庫搭建

7、運行鏡像并將容器5000端口映射到linux主機5000端口,并將鏡像下載到/opt/data/registry/目錄下(默認為/var/lib/registry目錄)命令如下:
Centos7 Docker私有倉庫搭建
注釋:
i:保持sdtin開放狀態
d:使容器以守護進程方式后臺運行,并打印容器id
t:分配一個tty(虛擬終端設備)
v: 綁定掛載一個容器內的路徑到宿主機路徑
p:映射一個容器的端口到宿主機端口
restart:當容器退出時的重啟策略
name: 給容器命名一個名稱
-–privileged=true :CentOS7中的安全模塊selinux把權限禁掉了,參數給容器加特權,不加上傳鏡像會報權限錯誤
-v /opt/data/registry:/var/lib/registry:默認情況下,會將倉庫存放于容器內的/tmp/registry目錄下,指定本地目錄掛載到容器

三、客戶端上傳鏡像(先切換到客戶端在執行)

1、從公共倉庫拉取httpd鏡像 docker pull httpd

2、查看拉取鏡像 docker images
Centos7 Docker私有倉庫搭建

3、修改鏡像的tag docker tag 原名 修改名
docker tag httpd 192.168.152.159:5000/httpd
Centos7 Docker私有倉庫搭建

4、把打了tag的鏡像上傳到私有倉庫
docker push 192.168.152.159:5000/httpd
Centos7 Docker私有倉庫搭建

5、查看鏡像的存儲目錄和文件(此命令在倉庫服務器上運行查看)
tree /opt/data/registry/docker/registry/v2/repositories/
Centos7 Docker私有倉庫搭建

6、測試從倉庫拉取鏡像
1)刪除docker客戶端鏡像 docker rmi 192.168.152.159:5000/httpd
Centos7 Docker私有倉庫搭建
Centos7 Docker私有倉庫搭建

2)從倉庫拉取剛才刪除的鏡像 docker pull 192.168.152.159:5000/httpd
Centos7 Docker私有倉庫搭建
注:以上操作完成docker倉庫搭建!

轉載于:https://blog.51cto.com/13043516/2120260

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390386.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL觸發器使用詳解

MySQL包含對觸發器的支持。觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行。 創建觸發器在MySQL中,創建觸發器語法如下: 代碼如下: CREATE…

java中訪問修飾符_Java中的訪問修飾符介紹

java中訪問修飾符什么是訪問修飾符? (What are Access Modifiers?) Have you ever wanted to define how people would access some of your properties? You would not want anyone using your underwear. However, your close friends and relatives can use yo…

VIM 編輯器

2019獨角獸企業重金招聘Python工程師標準>>> VIM 相對于VI 的提升 VIM 支持多級撤銷VIM 可以跨平臺運行VIM 支持語法高亮VIM 支持圖形界面VIM 編輯器的操作模式 Command Mode -命令模式Insert Mode -輸入模式Last Lin Mode -底行模式#使用yum 命令安裝vim 軟件&…

/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的作用

轉載自:http://blog.csdn.net/u013968345/article/details/21262033 /etc/profile:此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行. 并從/etc/profile.d目錄的配置文件中搜集shell的設置. /etc/bashrc:為每一個運行bash shell的用戶執行此文件…

python初學者_終極Python初學者手冊

python初學者Python has become one of the fastest-growing programming languages over the past few years. 在過去的幾年中,Python已成為增長最快的編程語言之一。 Not only it is widely used, it is also an awesome language to tackle if you want to get …

z-index

z-index 這個東西非常簡單,它有四大特性,每個特性你記住了,頁面布局就不會出現找不到盒子的情況。 z-index 值表示誰壓著誰,數值大的壓蓋住數值小的,只有定位了的元素,才能有z-index,也就是說,不…

大型運輸行業實戰_day12_1_權限管理實現

1.業務分析 權限說的是不同的用戶對同一個系統有不同訪問權限,其設計的本質是:給先給用戶分配好URL,然后在訪問的時候判斷該用戶是否有當前訪問的URL. 2.實現 2.1數據庫設計標準5表權限結構 2.2.sql語句實現,根據用戶id查詢該用戶所有的資源 sql語句: SELECT ur.user_id, r.u…

aws python庫_如何使用Python,AWS和IEX Cloud創建自動更新股市數據的Excel電子表格

aws python庫Many Python developers in the financial world are tasked with creating Excel documents for analysis by non-technical users.金融界的許多Python開發人員的任務是創建Excel文檔,以供非技術用戶進行分析。 This is actually a lot harder than i…

37)智能指針(就是自動delete空間)

1)問題引入: 在java或者在C中,一旦你new一個東西,那么必然有一個delete與之對應,比如: 1 int main()2 {3 int* p new int();4 5 *…

linux 安裝maven

2019獨角獸企業重金招聘Python工程師標準>>> 目錄:/usr/local/maven 1.下載 wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz 2.解壓 tar -zxvf apache-maven-3.5.3-bin.tar.gz 3.配置 vi /etc/profile #講下面…

自由開發者怎么生存_如何作為自由開發者生存

自由開發者怎么生存It’s been 8 weeks since we started experiencing the dramatic impact of the COVID-19 pandemic. In that time, we’ve all borne witness to how this virus can impact our families, our communities, and our livelihood. 自我們開始體驗COVID-19大…

UUID生成字符串

在向數據庫插入新數據時,可能需要插入字符串形式的ID,這時使用UUID可以生成隨機字符串: String str UUID.randomUUID().toString(); 轉載于:https://www.cnblogs.com/suhfj-825/p/8260861.html

如何在React Native中使用react-navigation 5處理導航

React-navigation is the navigation library that comes to my mind when we talk about navigation in React Native. 當我們談論React Native中的導航時,React-navigation是我想到的導航庫。 Im a big fan of this library and its always the first solution I…

flask內置session原理

內置session原理 請求到來 當請求進來之后,先執行Flask對象的 __call__ 方法 def wsgi_app(self, environ, start_response):# 獲取請求相關數據,并進行封裝和加工ctx self.request_context(environ)# 將請求消息推送到堆棧中,并執行 open_s…

指針3

#include <stdio.h>/* 2018-05-28 如何通過被調函數修改主調函數普通變量的值1&#xff0c;實參必須為該普通變量的地址2,形參必須為指針變量3&#xff0c;在背調函數中通過*形參名 。。。。。的方式就可以修改主調函數相關變量的值*/f(int *i,int *j) {*i 4;*j 5;ret…

面試系統設計_系統設計面試問題–您應該知道的概念

面試系統設計You may have heard the terms "Architecture" or "System Design." These come up a lot during developer job interviews – especially at big tech companies.您可能已經聽說過“架構”或“系統設計”這兩個術語。 在開發人員工作面試中&…

8597 石子劃分問題 dpdp,只考慮第一次即可

8597 石子劃分問題 時間限制:500MS 內存限制:1000K提交次數:155 通過次數:53 題型: 編程題 語言: G;GCC;VC Description 給定n個石子&#xff0c;其重量分別為a1,a2,a3,...,an。 要求將其劃分為m份&#xff0c;每一份的劃分費用定義為這份石子中最大重量與最小重量差的平方。…

文章中嵌入代碼塊_如何在您的文章中嵌入多項選擇測驗問題

文章中嵌入代碼塊In my experience, supplementing study with practical exercises greatly improves my understanding of a topic. This is especially true when I can test my knowledge as I go and receive instant feedback for each question.以我的經驗&#xff0c;通…

mysql免安裝版配置

1.官網下載https://dev.mysql.com/downloads/mysql/ 2.將下載好的壓縮包mysql-5.7.20-winx64.zip解壓。 3.mysql解壓后&#xff0c;設置.ini文件&#xff0c;在加壓后的路徑中加一個my.ini文件 配置如下內容&#xff1a; # 設置mysql客戶端默認字符集 default-character-setutf…

各種IE(IE6-IE10)兼容問題一行代碼搞定

x-ua-compatible 用來指定IE瀏覽器解析編譯頁面的model x-ua-compatible 頭標簽大小寫不敏感&#xff0c;必須用在 head 中&#xff0c;必須在除 title 外的其他 meta 之前使用。 1、使用一行代碼來指定瀏覽器使用特定的文檔模式。 <meta http-equiv"x-ua-compatible&q…