本地镜像发布到私有库、阿里云

一、流程图

二、发布到阿里云

1.登录阿里云后 -进入容器镜像服务 -进入个人实例

2.先创建命名空间

 3.在创建镜像仓库 选择刚才创建的命名空间

 4.创建好后 调整的页面(仓库管理页面)有发布的步骤 根据提示可以发布

  1. 登录阿里云Docker Registry(拉去和推送都需要先登录)  
     docker login --username=阿里账户 registry.cn-beijing.aliyuncs.com

  2. 从Registry中拉取镜像
     docker pull registry.cn-beijing.aliyuncs.com/命名空间/仓库名称:[镜像版本号]

  3. 将镜像推送到Registry
      docker tag [ImageId] registry.cn-beijing.aliyuncs.com/命名空间/仓库名称:[镜像版本号]
      docker push registry.cn-beijing.aliyuncs.com/命名空间/仓库名称:[镜像版本号]

三、发布到私有库

1.下载镜像Docker Registry(仓库)

docker pull registry

2.运行私有库Registry,相当于本地有个私有Docker hub

docker run -d -p 5000:5000  -v /registry/myregistry/:/tmp/registry --privileged=true registry

3.curl验证私服库上有什么镜像

 curl -XGET http://仓库的ip:5000/v2/_catalog

4.将新镜像修改符合私服规范的Tag(这个镜像最好是修改过的,最后验证就验证修改的地方)

按照公式: docker   tag   镜像:Tag   Host:Port/Repository:Tag
自己host主机IP地址,
使用命令 docker tag 将这个镜像修改为  仓库的ip:5000/myubuntu:1.0
docker tag zzyyubuntu:1.0 仓库的ip:5000/myubuntu:1.0

5.修改配置文件使之支持http(docker默认不允许http方式推送镜像)

vim /etc/docker/daemon.json

添加 "insecure-registries": ["仓库的ip:5000"]
deamon 是json格式 上一行最后加上逗号

{
  "registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"],
  "insecure-registries": ["仓库的ip:5000"]
}

6.push推送到私服库

docker push 仓库ip:5000/myubuntu:1.0

7.curl验证私服库上有什么镜像

curl -XGET http://仓库的ip:5000/v2/_catalog

8.pull到本地并运行验证

docker pull 仓库ip:5000/myubuntu:1.0

 例:

1.先启动一个容器 下载ifconfig命令包 可以执行命令后 退出容器

 2.将容器commit为新的镜像(myubuntu:1.0镜像中有ifconfig命令包)

 3.启动私有库

 4.curl验证私服库上有什么镜像

 5.将新镜像修改符合私服规范的Tag

 6.修改配置文件使之支持http(这一步会出现问题 如果修改完推送不好使 重启一下docker之后在推送试试 如下图片就是没有重启 推送失败)

  重启docker后需要启动容器在进行推送

 7.push推送到私服库 curl查看是否推送成功

 8.验证是否推送正确  pull到本地并运行

 

 

posted @ 2022-10-11 12:00  Dabo丶  阅读(155)  评论(0编辑  收藏  举报