手動搭建Docker本地私有鏡像倉庫

實驗環境:兩個Centos7虛擬機,一個是Server,用做客戶端,另外一個是Registry,用做Docker私有鏡像倉庫。linux

基礎配置

查看一下兩臺虛擬機的IP地址
Server的IP地址是192.168.134.151.
docker

Registry的IP地址是192.168.134.150.
3d

使用setenforce 0臨時關閉SElinux。rest

打開ServerRegistry的內核轉發功能
編輯配置文件/etc/sysctl.conf,添加下面的內容:code

net.ipv4.ip_forward = 1 
net.ipv4.conf.default.rp_filter = 0 
net.ipv4.conf.all.rp_filter = 0


修改完成後使用sysctl –p命令生效。
server

Docker配置

1.Docker環境安裝
ServerRegistry兩臺機器上使用yum install -y docker命令安裝docker環境。

blog

2.配置Docker配置文件
ServerRegistry上編輯/etc/sysconfig/docker文件添加以下兩行:ip

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開機自啓it

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鏡像倉庫拉取的鏡像。 到此實驗成功!

相關文章
相關標籤/搜索