首页 > 其他分享 >docker推送镜像到私仓

docker推送镜像到私仓

时间:2023-09-22 21:44:27浏览次数:35  
标签:opt 5000 私仓 test 镜像 docker 推送 root

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

标签:opt,5000,私仓,test,镜像,docker,推送,root
From: https://www.cnblogs.com/huchao12/p/17723452.html

相关文章

  • Docker - Expose a port
    Inordertoaccessthenginxfromourworkstation,wewould needtoexposetheport80fromwithinthenginxcontainertoourworkstation.Let usfirststopthecontainerandrecreateittoexposethecontainertoourworkstation:%dockerstopvigorous_......
  • docker安装jira
    阅读目录 1.下载镜像2.运行容器3.在MySQL中创建数据库4.在页面上访问jira并设置 回到顶部1.下载镜像#dockerpullxujianflying/jira:9.0.0#dockerpullxujianflying/mysql57:5.7回到顶部2.运行容器#运行jira,第一个8082为宿主端口,第二个为容器端口(不可修......
  • 如何设置SSH远程连接docker容器
    @https://blog.csdn.net/hwijew/article/details/88171749@https://blog.csdn.net/lhyhaiyan/article/details/128546411安装sshserverapt-getupdateapt-getinstallopenssh-server启动SSH服务sshstart查看SSH服务的状态servicesshstatus设置root密码和配置文件......
  • 执行docker compose up -d报错 unknown shorthand flag: 'd' in -d
    执行dockercomposeup-d报错unknownshorthandflag:'d'in-d/usr/libexec/docker/cli-plugins/目录下没有docker-compose或者有docker-compose但执行dockerhelp显示InvalidPlugins:composefailedtofetchmetadata:exitstatus1 实际上是docker-compose未......
  • Docker Swarm + Harbor + Portainer 打造高可用,高伸缩,集群自动化部署,更新。
    DockerSwarm是Docker官方自带的容器编排工具,Swarm,Compose,Machine合称Docker三剑客。DockerSwarm对于中小型应用来说,还是比较方便,灵活,当然K8S对于大型项目在各方面有着明显的优势。技术选型需要针对公司实际情况选择,架构往往是一步一步随着业务变化升级演变而来,本文主要讲解Docke......
  • dockerfile编写总结
    编写Dockerfile文件1.dockerfile结构介绍  from基础镜像  maintainer维护者信息  run命令前加run  CMD容器启动时执行的操作,可以自定义脚本,也可执行系统命令  ENTRYPOINT容器启动时执行的操作,设置指令指定容器启动时执行的命令,可以追加命......
  • docker部署java项目
    1、首先你需要提前准备好jar包或者war包,并想办法放入Linux环境(或虚拟机)中;2、java项目的部署需要用到Tomcat或者Jetty,docker可以直接拉取他俩的镜像,这里以Tomcat为例:#:后面需要加上war或者jar对应的Tomcat版本,最好加上,#否则默认最新的版本--latest,会出现版本不兼容的问题d......
  • ABP + Vue Docker 部署
    #!/bin/bashecho"Welcometodockerbuild"echo""echo""ABP_HOST="abp/host"ABP_NG="abp/ng"cd..echo"Buildingdockerimage$ABP_HOST..."#cd到aspnet-core目录,eg:cd/data/apb/#将aspnet-......
  • Docker
    Ubuntu22.04全程root用户安装aptupdateaptinstall-yapt-transport-httpsca-certificatescurlgnupg-agentsoftware-properties-commoncurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-keyadd-add-apt-repository"deb[arch=amd64]https:......
  • Docker - Docker Desktopo
    ThereisareasonfortheneedforWindowsandMacuserstodownloadandworkwith DockerDesktopinsteadofworkingwithDockerbinarydirectly.Containerizationis moreofaLinuxtechnology,soitisnotavailableoutoftheboxforwindowsand macuse......