系統環境:CentOS Linux release 7.5.1804 (Core)
docker版本:Docker version 1.13.1, build 6e3bb8e/1.13.1
一、docker hub公共倉庫
# docker pull centos
二、私有倉庫
docker-registry 是官方提供的工具,可以用於構建私有的鏡像倉庫。
2.1、安裝服務:
# yum install -y python-devel libevent-devel python-pip gcc xz-devel
# docker pull registry:2
2.2、查看
# docker images
2.3、啓動容器
# docker run -d -p 5000:5000 --privileged=true -v /opt/registry:/tmp/registry registry
說明:
-d ==> 作爲daemon進程啓動,也就是後臺啓動
-v /myregistry:/tmp/registry ==> 默認情況下,會將倉庫存放於容器內的/tmp/registry目錄下,指定本地目錄/myregistry掛載到容器,可以防止容器意外停止後鏡像的丟失。
-p 5000:5000 ==> 前一個5000是host的端口,後一個是容器的端口。這裏是將容器的5000端口映射到host的5000端口。
2.4、配置https權限支持
# vim /etc/sysconfig/docker
#添加如下參數
other_args="--exec-driver=lxc --selinux-enabled --insecure-registry 192.168.56.128:5000"
說明:
--insecure-registry 192.168.56.128:5000,表示開啓5000端口的非安全模式,也就是http模式。
重啓docker服務
2.5、上傳鏡像到私有registry
(1)下載一個鏡像
# docker pull centos:7.2.1511
(2)修改一下該鏡像的tag
# docker tag centos:7.2.1511 192.168.56.128:5000/jiangjj/centos:v7.2
說明:
centos:7.2.1511——是鏡像的名稱和版本
192.168.56.128:5000——私庫的ip:端口(必須)
/jiangjj/centos:v7.2——文件夾和版本區分
(3)上傳鏡像到我的私有registry
# docker push 192.168.56.128:5000/jiangjj/centos:v7.2
報錯如下:
修改配置文件
# vim /etc/sysconfig/docker
ADD_REGISTRY='--add-registry 192.168.56.128:5000'
INSECURE_REGISTRY='--insecure-registry 192.168.56.128:5000'
重啓服務,啓動容器後,重新上傳
即可
(3)在我的私有registry2上查看鏡像
//獲取倉庫類的鏡像
# curl http://192.168.56.128:5000/v2/_catalog
//獲取某個鏡像的標籤列表:
# curl -X GET http://192.168.56.128:5000/v2/jiangjj/centos/tags/list
說明:
v2——registry版本
_catalog——相當於查看registry記錄日誌
/jiangjj/centos——自定義標籤
/tags/list——查看tag列表
(4)刪除本地鏡像
# docker rmi 192.168.56.128:5000/jiangjj/centos:v7.2
2.6、在終端拉取鏡像文件
(1)修改配置文件
# vim /etc/sysconfig/docker
ADD_REGISTRY='--add-registry 192.168.56.128:5000'
INSECURE_REGISTRY='--insecure-registry 192.168.56.128:5000'
(2)拉取鏡像
# docker pull 192.168.56.128:5000/jiangjj/centos:v7.2
在局域網可以自行搭建dns服務,採用域名拉取鏡像。
到此就OK了!!!!