鏡像的私有倉庫
Docker官方提供了docker-registry組件,我們可以用它來構(gòu)建我們的私有鏡像倉庫。
安裝docker-registry
服務器端(私有倉庫的搭建)
Step 1開始下載最新的鏡像。
docker search registry
docker pull registry
docker images 查看鏡像是否pull成功
image.png
Step2 啟動并且掛載鏡像倉庫到本地磁盤
docker run -d -v /registry:/home/docker-registry -p 5000:5000 --restart=always -- privileged=true --name registry registry:latest
#-d 后臺運行 -v -p 端口 --restart=always 高可用 --privileged=true 安全
查看容器啟動進程
image.png
-v /registry:/home/docker-registry:默認情況下,會將倉庫存放于容器內(nèi)的/home/docker-registry目錄下,指定本地目錄掛載到容器。
-p 5000:5000 :端口映射。即本地5000端口,映射到registry中的5000端口。
–restart=always1:在容器退出時總是重啟容器,主要應用在生產(chǎn)環(huán)境。
–privileged=true:在CentOS7中的安全模塊selinux把權(quán)限禁掉了,參數(shù)給容器加特權(quán),不加上傳鏡像會報類似權(quán)限錯誤。OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’)或者(Received unexpected HTTPstatus: 500 Internal Server Error)
–name registry:指定容器的名稱。
為了持久化數(shù)據(jù),將volume掛載到/home/docker-registry
setp 3 修改配置文件 , 進入瀏覽器查看
vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://ulisdva8.mirror.aliyuncs.com"],
"insecure-registries":["192.168.88.250:5000"] } #加入這句
systemctl daemon-reload #這個一定不要忘記
systemctl restart docker
瀏覽器中打開 出現(xiàn) {} 表示運行成功
image.png
step4 上傳鏡像到倉庫中
docker pull nginx
docker tag nginx:latest localhost:5000/nginx:v1 #改標簽
docker push localhost:5000/nginx:v1 #push到私有倉庫
打包上傳鏡像
image.png
瀏覽器驗證
image.png
另一臺Docker主機上驗證 :客戶端(公司其他員工)
- 修改配置文件
vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://ulisdva8.mirror.aliyuncs.com"],
"insecure-registries":["192.168.88.250:5000"] } #加入這句
systemctl daemon-reload #這個一定不要忘記
systemctl restart docker
2.拉取鏡像
docker pull 192.168.88.250:5000/nginx:v1 #可以通過docker images檢測ID一樣與宿主機
- push 操作試驗
#能pull就能
push docker tag ubuntu:19.04 192.168.88.250:5000/ubuntu:v1 #改標簽
docker push 192.168.88.250:5000/ubuntu:v1 #push到服務器端




