Docker镜像仓库(包括阿里云,harbor,和本地镜像的导出和导入)

Docker镜像仓库

  • 什么是镜像仓库
存放着很多镜像的仓库
  • 为什么要使用镜像仓库
1. 起到备份的作用
2. 方便其他机器下载使用
  • 镜像仓库的种类
    • 公共镜像仓库
      • 官方: http://hub.docker.com/
      • 非官方: 其他组织或者公司开发的镜像,供大家免费使用
    • 私有镜像仓库
      • 公司自己搭建的,用于存放公司内部的镜像,自己管理,不提供给外部使用,避免了商业项目暴露出去的风险

在这里插入图片描述

  • 阿里云镜像仓库的搭建

    • 阿里云镜像仓库的申请地址:
      https://cr.console.aliyun.com/cn-hangzhou/instances/repositories
    • 登录阿里云Docker Registry sudo docker login --username=南荣牧歌 registry.cn-chengdu.aliyuncs.com
    • 从Registry中拉取镜像
      sudo docker pull registry.cn-chengdu.aliyuncs.com/yang_hang/databases:[镜像版本号]
    • 将镜像推送到Registry
      $ sudo docker login --username=南荣牧歌 registry.cn-chengdu.aliyuncs.com

      $ sudo docker tag [ImageId] registry.cn-chengdu.aliyuncs.com/yang_hang/databases:[镜像版本号]

      $ sudo docker push registry.cn-chengdu.aliyuncs.com/yang_hang/databases:[镜像版本号]
  • harbor仓库的搭建

    • 构建自己的镜像仓库
      • 安装之前要确保是否安装了docker、docker-compose、openssl以及python2.7以上的版本
      • Harbor离线版安装下载地址
      • 上传下载好的压缩包并解压
      • vim harbor.yml
        • 修改主机名 hostname: reg.mydomain.com
        • 修改密码 harbor_admin_password: 123456
      • 执行脚本 sh prepare,目录会生成docker-compose.yml
      • 执行安装命令 sh install.sh
      • 执行命令 docker-compose ps
      • 访问Harbor,默认用户名admin
      • 关闭:docker-compose down
      • 启动:docker-compose up -d
  • harbor仓库配置与使用

    • Docker默认值允许访问https仓库
    • 如果需要访问http仓库需要自己配置
    • 配置允许http访问仓库: /etc/docker/daemon.json
      {
      “insecure-registries”:[“http://192.168.0.151”]
      }
    • 重启docker服务 systemctl restart docker.service
    • 网页上访问harbor创建项目名(默认端口是80)
    • 登录: docker login --username=admin 192.168.0.151
    • 改名:docker tag mysql:5.7 192.168.0.151/xdclass/mysql:5.7
    • 推送:docker push 192.168.0.151/xdclass/mysql:5.7
    • 下载: docker pull 192.168.0.151/xdclass/mysql:5.7
    • docker login 后有一个登录凭证(可删除,下次需要密码):
      • /root/.docker/config.json (建议从安全角度出发,每次登录后进行删除)
  • 本地镜像容器的载入与载出

    • 两种方法
      • 保存镜像
      • 保存容器
    • 保存镜像
      • docker save [镜像id] -o|> [需要保存的路径]
        docker save cd3ed0dfff7e -o /home/mysql.tar
        docker save mysql:5.7 > /home/mysql.tar
    • 载入镜像
      • docker load -i mysql.tar
    • 保存容器(实际上是吧当前的容器也打包成镜像)
      • docker export 974b919e1fdd -o /home/mysql-export.tar
    • 载入容器
      • docker import mysql-export.tar
发布了156 篇原创文章 · 获赞 19 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/qq_36929361/article/details/103795260