1、下載registry鏡像
docker pull registry:2.5
2、生成登錄私有倉庫的用戶名以及密碼
mkdir -p /opt/registry/auth/
docker run --entrypoint htpasswd registry:2.5 -Bbn username userpwd >> /opt/registry/auth/htpasswd
3、創(chuàng)建配置文件
mkdir -p /opt/registry/config
vim /opt/registry/config/config.yml
##config.yml文件配置
version: 0.1
log:
fields:
service: registry
storage:
delete:
enabled: true //打開刪除功能
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
4、啟動倉庫容器
docker run -d -p 5000:5000 --restart=always --name=myregistry\
-v /opt/registry/config/:/etc/docker/registry/ \
-v /opt/registry/auth/:/auth/ \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v /opt/registry/:/var/lib/registry/ \
registry:2.5
使用5000端口,需要打開服務(wù)器的該端口號
5、允許遠(yuǎn)程訪問、下載、推送鏡像文件到私有倉庫
vim /etc/docker/daemon.json
{
……
"insecure-registries": ["**.**.**.***:5000"]
}
保存后重啟docker,否則不生效
systemctl daemon-reload
systemctl restart docker
以上完成私有倉庫配置,檢查是否能成功登錄
curl -u username:userpwd http://**.**.**.***:5000/v2/_catalog
展示文章來源:http://www.zghlxwxcb.cn/news/detail-651550.html
{"repositories":[]} //說明私有倉庫配置成功
6、問題總結(jié)
//運(yùn)行
docker run --entrypoint htpasswd registry:latest -Bbn username userpwd >> /opt/registry/auth/htpasswd
//出現(xiàn)問題
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "htpasswd": executable file not found in $PATH: unknown.
原因是使用的registry鏡像版本是不固定的【latest】引起的, 所以在執(zhí)行的時(shí)候,下載的registry鏡像文件要固定到某一具體版本,例如:registry:2.7.0文章來源地址http://www.zghlxwxcb.cn/news/detail-651550.html
到了這里,關(guān)于docker私有鏡像倉庫搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!