docker 镜像仓库

前言

           1.官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。
            2.Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。
            3.Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

部署阿里云仓库

基本流程

流程解析         

      1.创建images  
docker build  Dockerfile                   
# 构建一个镜像(创建一个新镜像 比较推荐)
docker save -o xxx.tar imageId/imageName      
# 将镜像保存为tar包
docker load -i x x x.tar                        
# 镜像加载 进来(操作原来的镜像)
docker export  containerId/containerName > xxx.tar     
# 创建一个镜像快照的tar包文
cat xxx.tar | docker import - imageName:version  
# 导入一个镜像快照
docker commit -a "作者信息" -m "描述信息" containerId/containerName NewContainerName:版本
# 从当前运行的旧容器创建一个新容器
  • docker commit 命令用于创建一个新的镜像(image)从一个正在运行的容器(container)的当前状态。
  • 这意味着你可以基于一个正在运行的容器创建一个新的镜像,这个新镜像包含了容器运

    行时的所有更改(例如,添加的文件、修改的配置等)。
  • docker export 命令用于将容器的文件系统导出为一个 tar 归档文件。这与 docker commit 不同,
  • 因为它不包含任何元数据或历史记录,只是简单地导出容器那一刻的文件系统快照。
2.运行docker tag 命令

        将镜像打成镜像.tar  镜像仓库接收镜像.tar

3.运行docker push命令(命令不固定,具体见下)

        将镜像.tar 推送至远端镜像仓库        

搭建阿里云镜像仓库

1.公有仓库
  1. 阿里云开发平台  开放云原生应用-云原生(Cloud Native)-云原生介绍 - 阿里云
  2.  登录自己的账号,选择控制台,搜索容器镜像服务 ACR

  3. 选择个人版,创建命名空间,再到镜像仓库页面创建仓库地址并选择刚才创建的命名空间

        

        第一次可能要领取,免费使用,可以领取!

      4. 进入自己刚才创建的仓库,阿里的推拉镜像指令都在这里面

      5. 到此为止 镜像仓库已经创建完毕,根据阿里生成的指令 可以将自己的镜像推上来,也可以让别人到这个地址拉取镜像

2.搭建私有仓库

        Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

        1.拉取仓库镜像

 docker pull register

        2.启动仓库镜像

docker run -d -p 5000:5000 -v /personregistry/myregistry/:/tmp/registry --privileged=true registry
# 默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便和宿主机联调

        3.查看私有仓库镜像 

curl -XGET http://xxxx:5000/v2/_catalog

        4.将本地镜像生成镜像:Tag 

docker tag mycentosjava8:1.0 xxxx:5000/mycentosjava8:1.0

    注意:如果连接失败 执行如下命令       

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.111.162:5000"]
}
# docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。====> 修改完后如果不生效,建议重启docker

        5.将镜像推送到私有库

docker push xxxxx:5000/mycentosjava8:1.0

        6.验证是否有镜像

curl -XGET http://xxxx:5000/v2/_catalog

       7. 到此私有镜像也搭建完毕,拉取镜像

docker pull xxxx:5000/mycentosjava8:1.2
              

 结束  

        如果写的不好 可以留言哈!!!

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值