docker推送镜像到私仓

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

posted on 2023-09-22 21:37  枫飘过的天1  阅读(136)  评论(0编辑  收藏  举报