docker快速部署docker私有仓库
前言
记录docker快速部署docker私有仓库命令
登录过私仓服务器忘记密码可以查看这篇:
docker部署私有仓库
1. 创建认证密码文件
安装htpasswd工具
# CentOS/RHEL centos执行这个
yum install -y httpd-tools# Ubuntu/Debian
apt-get install -y apache2-utils
2. 创建认证目录
mkdir -p /zero/registry/auth
sudo chmod 755 /zero/registry
3.创建密码文件(标红的是账户和密码)
# 创建第一个用户(admin)
htpasswd -Bbn admin admin > /zero/registry/auth/htpasswd
# 添加更多用户
htpasswd -Bb /zero/registry/auth/htpasswd zero zero
4.启动私有仓库容器
注:registry:3.0.0 存在时区问题这里直接用2.8解决
docker run -d \
-p 5000:5000 \
--restart=always \
--name registry \
-v /zero/registry:/var/lib/registry \
-v /zero/registry/auth:/auth \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/share/zoneinfo:/usr/share/zoneinfo:ro \
-e REGISTRY_AUTH=htpasswd \
-e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-e REGISTRY_STORAGE_DELETE_ENABLED=true \
registry:2.8
REGISTRY_STORAGE_DELETE_ENABLED=true 标识支持删除镜像
5.为了让Docker客户端能够与您的私有仓库(使用HTTP)通信,需要在/etc/docker/daemon.json中设置信任该仓库
cat /etc/docker/daemon.json
{
"insecure-registries": ["您的服务器IP:5000"]
}

6.重启Docker服务
systemctl daemon-reload
systemctl restart docker
7.登录到私有仓库(根据提示输入用户名和密码)
docker login 您的服务器IP:5000
8.推送镜像测试
# 为现有镜像打上私有仓库标签
docker tag 本地镜像名:标签 您的服务器IP:5000/新镜像名:标签
# 推送到私有仓库
docker push 您的服务器IP:5000/新镜像名:标签
例:本地镜像名为openjdk:17
docker tag openjdk:17 172.16.10.40:5000/openjdk:17
docker push 172.16.10.40:5000/openjdk:17
9.查看仓库镜像

docker私有仓库pull镜像
1.为了让Docker客户端能够与您的私有仓库(使用HTTP)通信,需要在/etc/docker/daemon.json中设置信任该仓库
cat /etc/docker/daemon.json
{
"insecure-registries": ["您的服务器IP:5000"]
}

2.重启Docker服务
systemctl daemon-reload
systemctl restart docker
3.登录到私有仓库(根据提示输入用户名和密码)
docker login 您的服务器IP:5000
4.拉取镜像
docker pull 172.16.10.40:5000/openjdk:17
5.验证结果
docker images | grep 172.16.10.40
更多推荐
所有评论(0)