部署registry-web,页面访问镜像仓库

2023-03-13  本文已影响0人  断水流大师兄vs魔鬼筋肉人

前文:部署私有仓库并设置仓库用户和密码

启动registry:

docker run -d --restart=always --name registry-2 -v /opt/auth/:/auth/ -v /data/registry/registry:/var/lib/registry -v /data/registry/certs:/certs -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_STORAGE_DELETE_ENABLED=true -p 443:443 registry

启动web:

docker run -d --restart=always -p 8082:8080 --name registry-web --link registry-2:westos.org -e REGISTRY_URL=https://heimayi.xyz/v2 -e REGISTRY_TRUST_ANY_SSL=true -e REGISTRY_BASIC_AUTH="d2FuZ3lpOndhbmd5aUAxMjM=" -e REGISTRY_NAME=heimayi.xyz hyper/docker-registry-web

registry启动项里配置私钥

 docker run -d \
     --restart=always \       
     --name registry-2 \
     -v /opt/auth/:/auth/  \     密码目录(上一章说过)
     -v /data/registry/registry:/var/lib/registry  \   镜像目录
     -v /data/registry/certs:/certs     \      私钥目录(下面看私钥怎么来)
     -e "REGISTRY_AUTH=htpasswd" \ 
     -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
     -e  "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
     -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key     \    
     -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt     \
     -e REGISTRY_HTTP_ADDR=0.0.0.0:443  \
     -e REGISTRY_STORAGE_DELETE_ENABLED=true    \
     -p 443:443 \
     registry

创建certs证书,生成服务器私钥

mkdir /data/registry/certs 
cd /data/registry     生成密钥在当前目录 certs
openssl req -newkey rsa:4096 -nodes \
-sha256 -keyout certs/westos.org.key -x509 -days 365   \
-out certs/westos.org.crt

[root@ecs-3 docker]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -x509 -days 365 -out certs/westos.org.crt
Generating a 4096 bit RSA private key
......................++
................................................................................................++
writing new private key to 'certs/westos.org.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:hangzhou
Locality Name (eg, city) [Default City]:hangzhou
Organization Name (eg, company) [Default Company Ltd]:mayi
Organizational Unit Name (eg, section) []:heimayi
Common Name (eg, your name or your server's hostname) []:mayi-3
Email Address []:root@mayi-3
完成后:
[root@ecs-3 registry]# ll certs/
total 8
-rw-r--r-- 1 root root 2086 Nov 10 09:56 westos.org.crt
-rw-r--r-- 1 root root 3272 Nov 10 09:56 westos.org.key

启动:

 docker run -d \
     --restart=always \
     --name registry-2 \
     -v /opt/auth/:/auth/  \
     -v /data/registry/registry:/var/lib/registry  \
     -v /data/registry/certs:/certs     \
     -e "REGISTRY_AUTH=htpasswd" \
     -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
     -e  "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
     -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key     \
     -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt     \
     -e REGISTRY_HTTP_ADDR=0.0.0.0:443  \
     -e REGISTRY_STORAGE_DELETE_ENABLED=true    \
     -p 443:443 \
     registry

测试功能
[root@ecs-3 registry]# curl -k -XGET --user mayi:123456 https://127.0.0.1:443/v2/_catalog
{"repositories":[]} (你的用户和密码)

登陆一遍才会有密码到配置里

成功后会在/root/.docker/config.json 保存443端口的密码,启动registry-web会用到


启动web页面:

 docker run -d -p 8082:8080 --name registry-web \
--link registry-2:westos.org   \
-e REGISTRY_URL=https://heimayi.xyz/v2   \
-e REGISTRY_TRUST_ANY_SSL=true   \
-e REGISTRY_BASIC_AUTH="passwd"   \     #config.json的443的密码
-e REGISTRY_NAME=heimayi.xyz   \
hyper/docker-registry-web

访问: 127.0.0.1:8082

上一篇 下一篇

猜你喜欢

热点阅读