1.私仓搭建和上传镜像
参考链接:https://blog.csdn.net/xiaoyu070321/article/details/130871703
docker pull registry //下载镜像
运行私有库registry (相当于本地有个是有docker hub)
docker run -d -p 5000:5000 -v /huchao/myregistry/:/tmp/registry --restart=always --privileged=true registry (用户名密码设置:)
//默认情况下,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便宿主机联调
验证私服上有什么镜像:
curl -XGET http://192.168.88.139:5000/v2/_catalog
docker tag huchao/nginx 192.168.88.139:5000/mynginx:1.0
docker images#查看是否打包成功
docker push 192.168.88.139:5000/mynginx:1.0
curl -XGET http://192.168.88.139:5000/v2/_catalog //验证私服上有什么镜像
2.提交镜像到仓库
docker commit -m="提交的内容" -a="作者" 容器ID要创建的目标镜像名:[标签名] //命令:在容器外执行
如:docker commit -m="update ifconfig" -a="zyd" 容器id wlmubuntu:1.2
例:docker commit -m="nginx" -a="huchao" 80558b8f1bda huchao/nginx
3.从私仓拉取镜像
docker pull 192.168.88.139:5000/mynginx:1.0
机器上先配置:
vi /etc/docker/daemon.json#修改配置文件
{
"insecure-registries":["192.168.88.139:5000"],
"registry-mirrors": ["https://aoewjvel.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
systemctl restart docker.service#重启服务
docker start (registry进程ID)#启动registry服务
4.仓库设置密码: //参考连接:https://www.cnblogs.com/nulige/articles/10926088.html
#搭建私有镜像仓库
[root@docker_test opt]# docker pull registry
#查看镜像
[root@docker_test opt]# docker images
#创建文件夹,往文件中添加密码
[root@docker_test opt]# mkdir -p /opt/auth
[root@docker_test opt]# cd /opt/auth
[root@docker_test auth]# echo "user:admin passwd:123456" > /opt/auth/htpasswd
#格式转换
docker run --entrypoint htpasswd registry:latest -Bbn admin 123456 >/opt/auth/htpasswd //需要安装httpd, yum -y install httpd ,才能使用htpasswd该命令
(替代命令:yum -y install htpasswd , htpasswd -Bbn admin 123456 >/opt/auth/htpasswd)
[root@docker_test opt]# cat auth/htpasswd
nulige:$2y$05$9lG7QFC/hSCj/s.c4769K.4mSsqWF5OwTPv2UP6.itFGlWCV/HwVS
#启动registry1容器 ,默认端口5000映射到5000
docker run -d -p 5000:5000 --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 \
registry
#配置使用私有仓库
[root@docker_test ~]# cat /etc/docker/daemon.json
{
"insecure-registries":["127.0.0.1:5000"]
}
#重启服务 systemctl restart docker
#登录镜像仓库
[root@docker_test opt]# docker login 127.0.0.1:5000
#给镜像打tag
[root@docker_test opt]# docker tag richarvey/nginx-php-fpm:latest 127.0.0.1:5000/nulige/nginx
[root@docker_test opt]# docker images
#上传镜像
[root@docker_test opt]# docker push 127.0.0.1:5000/nulige/nginx
#查看镜像
[root@docker_test opt]# docker images
#从私有仓库中下载镜像
[root@docker_test opt]# docker pull 127.0.0.1:5000/nulige/nginx:latest
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)