Step 1: 安裝Docker倉庫
首先,您需要安裝Docker倉庫。Docker提供了兩種Docker倉庫,一種是公開的Docker Hub,另一種則是私有的Docker倉庫。如果您的要求是存儲私有的數據或者是使用本地網絡,那么您需要安裝私有的Docker倉庫。
$ docker run -d -p 5000:5000 --name registry registry:2
執行上述代碼后,您將運行名為“registry”的私有Docker倉庫。
Step 2: 為Docker倉庫設置基本授權
$ htpasswd -Bbn <user> <password> > auth/htpasswd
在這個例子中,我們將使用一個基本的Apache .htpasswd文件存儲用戶名和已加密的密碼。您可以替換“<user>”和“<password>”為您想要使用的用戶名和密碼。
$ docker run -d --restart=always --name registry \
-v `pwd`/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v `pwd`/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/myregistrydomain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/myregistrydomain.key \
-p 443:5000 \
registry:2
在這個例子中,我們已經將“REGISTRY_AUTH”和“REGISTRY_AUTH_HTPASSWD_*”環境變量配置為使用.htpasswd文件進行基本的HTTP認證。為了使用TLS,我們將配置了證書和密鑰,并將其加載到注冊表。
Step 3: 將授權添加到Docker CLI
$ docker login myregistrydomain.com
使用上述命令,您可以將您的授權添加到Docker CLI。
總結
在使用Docker倉庫時,設置授權是非常重要的。在上述步驟基礎上,您還可以使用各種身份驗證方法,包括OAuth2、LDAP、Azure AD、甚至自定義身份驗證插件。