docker如何部署帶有界面的registry倉庫
docker 部署 registry UI
1. 創(chuàng)建registry倉庫
$ docker run -d --restart=always --name registry -p 5000:5000 -v /storage/registry:/var/lib/registry registry:2.3.0 $ docker ps
2. 將鏡像推入倉庫
$ docker pull centos $ docker tag centos:latest 192.168.211.15:5000/centos:latest $ docker push 192.168.211.15:5000/centos:latest The push refers to a repository [192.168.211.15:5000/centos] Get https://192.168.211.15:5000/v1/_ping: http: server gave HTTP response to HTTPS client
在推送鏡像中出現(xiàn)錯誤,因為client與Registry交互默認(rèn)將采用https訪問,但我們在install Registry時并未配置指定任何tls相關(guān)的key和crt文件,https將無法訪問。
因此, 我們需要配置客戶端的Insecure Registry選項(另一種解決方案需要配置Registry的證書)。
$ vim /etc/sysconfig/docker OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 192.168.211.15:5000' $ docker stop registry $ systemctl restart docker $ docker start registry $ docker push 192.168.211.15:5000/centos:latest $ $ curl https://192.168.211.15:5000/v2/_catalog {"repositories":["centos"]} #獲取鏡像列表
3. 創(chuàng)建registry-web
Docker官方只提供了REST API,并沒有給我們一個界面。
可以使用Portus來管理私有倉庫, 同時可以使用簡單的UI管理工具, Docker提供私有庫“hyper/docker-registry-web”, 下載該鏡像就可以使用了。
$ docker run -d -p 8080:8080 --name registry-web --link registry -e REGISTRY_URL=http://registry:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web
界面:
4. web 對接token認(rèn)證的registry server
4.1 搭建 docker registry web
$ mkdir -p /data/registry-web/config $ vim /data/registry-web/config/registry-web.yml registry: # Docker registry url url: 'https://192.168.211.100:5000/v2' # web registry context path # empty string for root context, /app to make web registry accessible on http://host/app context_path: '' # Trust any SSL certificate when connecting to registry trust_any_ssl: true # base64 encoded token for basic authentication basic_auth: '' # To allow image delete, should be false readonly: true # Docker registry fqdn name: '192.168.211.100:5000' # Authentication settings auth: # Enable authentication enabled: true # Allow registry anonymous access # allow_anonymous: true # not implemented # Token issuer # should equals to auth.token.issuer of docker registry issuer: 'test-issuer' # Private key for token signing # certificate used on auth.token.rootcertbundle should signed by this key key: /config/server.key
訪問:http://192.168.211.100:5000
用戶與密碼:admin
:admin
4.2 創(chuàng)建用戶
4.3 用戶授權(quán)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
數(shù)據(jù)卷(Data Volumes)及dockefile詳解
在生產(chǎn)環(huán)境中使用Docker,往往需要對數(shù)據(jù)進行持久化,或者需要在多個容器之間進行數(shù)據(jù)共享,這必然涉及容器的數(shù)據(jù)管理操作,今天給大家介紹下數(shù)據(jù)卷(Data Volumes)及dockefile的相關(guān)知識,感興趣的朋友一起看看吧2023-01-01Docker基礎(chǔ)教程之Dockerfile語法詳解
這篇文章主要給大家介紹了關(guān)于Docker基礎(chǔ)教程之Dockerfile語法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07