手動搭建Docker本地私有映象倉庫
手動搭建Docker本地私有映象倉庫
實驗環境:兩個Centos7虛擬機器,一個是Server,用作客戶端,另一個是Registry,用作Docker私有映象倉庫。
#####基礎配置
檢視一下兩臺虛擬機器的IP地址
Server的IP地址是
 Registry的IP地址是```192.168.134.150```.  使用```setenforce 0```臨時關閉SElinux。 **開啟```Server```和```Registry```的核心轉發功能** 編輯配置檔案```/etc/sysctl.conf```,新增下面的內容:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
 修改完成後使用```sysctl –p```命令生效。  #####Docker配置 1.Docker環境安裝 在```Server```和```Registry```兩臺機器上使用```yum install -y docker```命令安裝docker環境。   2.配置Docker配置檔案 在```Server```和```Registry```上編輯```/etc/sysconfig/docker```檔案新增如下兩行:
ADD_REGISTRY=’–add-registry 192.168.134.150:5000’
INSECURE_REGISTRY=’–insecure-registry 192.168.134.150:5000’
這裡是將```docker image```的獲取地址改為從本地私有```Registry```獲取。  使用```systemctl restart docker```命令重啟一下docker。 3.設定Docker服務 設定docker開機自啟
systemctl enable docker
 4.配置映象倉庫 先把等會要用到的兩個映象的tar包放到```/root```目錄下。  接著手動載入映象,載入```registry```映象並使用再將他上傳至私有映象倉庫,因為```registry```容器要用於其他容器的註冊,所以先將他啟動。**搭建私有映象倉庫必須要先將registry容器啟動**。 使用的命令如下:
docker load < registry_latest.tar //載入映象
docker images //檢視剛剛載入的映象的ID
docker run -d -p 5000:5000 –restart=always –name registry registry:latest //啟動registry容器
docker tag 映象ID registry:latest //給registry映象打上新tag(可以省去此步)
docker push registry:latest //將registry映象上傳至私有映象倉庫(可以省去此步)
 這時使用```docker images```檢視一下本地映象。  可以看到下面一個就是我剛剛重新打tag的映象。 現在上傳一個owncloud映象。  這裡可以看到上傳完之後的映象是沒有tag的,所以我們給他打上tag,就可以看出來了。  接著將他上傳至私有映象倉庫。 全部命令如下:
docker load < owncloud.tar //載入映象
docker images //檢視剛剛載入的映象的ID
docker tag 映象ID owncloud:latest //給owncloud映象打上tag
docker push owncloud:latest //將owncloud映象上傳至私有映象倉庫
我這裡私有映象倉庫的預設位置在
/var/lib/docker/volumes/022dbe58afaec96083a1ceb3fb6672c7a62be38a5a48158322d75d2e6b1150c3/_data/docker/registry/v2/repositories/ `
下。
檢視一下

這裡可以看到我上傳至私有映象倉庫的映象檔案。
#####驗證
驗證一下私有映象是否搭建成功
到server上拉取owncloud映象試一下。

這裡可以看到他是從 192.168.134.150 Registry
映象倉庫拉取的映象。
到此實驗成功!