码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • docker发布镜像到阿里云与私服


    docker发布镜像到阿里云与私服

    • 一 准备镜像
      • 1.1 下载初始镜像
      • 1.2 创建容器
      • 1.3 查看是否有这两个指令
      • 1.4 安装缺失指令
      • 1.5 生成新的镜像
      • 1.6 运行测试新的镜像
    • 二 上传镜像到阿里云
      • 2.1 进入阿里云官网
      • 2.2 在控制台找到容器镜像服务
      • 2.3 选择个人实例
      • 2.4 创建命名空间
      • 2.5 创建仓库
      • 2.6 获取刚创建的仓库脚本
      • 2.7 上传下载
        • 2.7.1 登录阿里云
        • 2.7.2 标记并推送
        • 2.7.3 下载阿里云镜像并测试
    • 三 上传镜像到私服
      • 3.1 下载镜像Docker Registry
      • 3.2 运行私有库Registry
      • 3.3 准备个新的ubuntu镜像
      • 3.4 验证
      • 3.5 查看registry私服镜像1
      • 3.6 将新镜像zzyyubuntu:1.2修改符合私服规范的Tag
      • 3.7 修改配置文件使之支持http
      • 3.8 推送到私服
      • 3.9 查看registry私服镜像2
      • 3.10 pull到本地并运行
      • 3.11 运行拉取下来的镜像检查vim和b.txt

    一 准备镜像

    1.1 下载初始镜像

    在这里插入图片描述

    1.2 创建容器

    在这里插入图片描述

    1.3 查看是否有这两个指令

    在这里插入图片描述

    1.4 安装缺失指令

    # 更新包管理工具,类似于centos的yum
    apt-get update
    # 安装vim
    apt install vim
    # 安装网络工具
    apt install net-tools
    #
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    安装完之后可以正常使用
    在这里插入图片描述

    1.5 生成新的镜像

    # -m是信息说明,-a是作者,后面接着是容器ID,打包之后的镜像名称及版本
    docker commit -m="add vim and net-tools" -a="czh" 35682e3af465 mystery_ubuntu:1.1
    
    • 1
    • 2

    1.6 运行测试新的镜像

    # 注:这里操作失误了,重新commit了一次,所以生成的镜像id和上面的不一样
    docker run -it 新生成的镜像id bash
    
    • 1
    • 2

    在这里插入图片描述

    二 上传镜像到阿里云

    2.1 进入阿里云官网

    https://promotion.aliyun.com/ntms/act/kubernetes.html
    
    • 1

    在这里插入图片描述

    2.2 在控制台找到容器镜像服务

    在这里插入图片描述

    2.3 选择个人实例

    在这里插入图片描述

    2.4 创建命名空间

    在这里插入图片描述

    2.5 创建仓库

    在这里插入图片描述
    在这里插入图片描述

    2.6 获取刚创建的仓库脚本

    在这里插入图片描述

    2.7 上传下载

    可以在2.6中找到自己的所有指令

    2.7.1 登录阿里云

    在这里插入图片描述

    2.7.2 标记并推送

    在这里插入图片描述

    2.7.3 下载阿里云镜像并测试

    先停止已经启动的相关容器,删除本地镜像,从阿里云拉取镜像
    在这里插入图片描述
    运行测试,安装的vim工具以及net-tools工具正常,且编写的a.txt也在
    在这里插入图片描述

    三 上传镜像到私服

    3.1 下载镜像Docker Registry

    docker pull registry
    
    • 1

    3.2 运行私有库Registry

    相当于本地有个私有Docker hub

    docker run -d -p 5000:5000  -v /usr/local/repository/myregistry/:/tmp/registry --privileged=true registry
    
    • 1

    在这里插入图片描述

    3.3 准备个新的ubuntu镜像

    步骤和前面的阿里云镜像步骤一样,这里的镜像只在原来的基础上添加vim和b.txt,不添加net-tools
    在这里插入图片描述

    # 准备完成之后,生成新的镜像
    # 公式:
    docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
    # 命令:在容器外执行
    docker commit -m="add vim" -a="czh" 容器ID mystery_ubuntu:1.3
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    3.4 验证

    在这里插入图片描述
    在这里插入图片描述

    3.5 查看registry私服镜像1

    # 查看私服有哪些镜像
     curl -XGET http://私服IP地址:5000/v2/_catalog
    
    • 1
    • 2

    在这里插入图片描述

    3.6 将新镜像zzyyubuntu:1.2修改符合私服规范的Tag

    按照公式: 
    docker tag 镜像:Tag Host:Port/Repository:Tag
    自己host主机IP地址
    使用命令 
    docker tag 将mystery_ubuntu:1.3 这个镜像修改为localhost:5000/mystery_ubuntu:1.3
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    3.7 修改配置文件使之支持http

    vim /etc/docker/daemon.json 
    # 添加如下配置,注意逗号
    "insecure-registries": ["替换成docker私服地址:5000"]
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    3.8 推送到私服

    docker push 私服ip:5000/mystery_ubuntu:1.3
    
    • 1

    3.9 查看registry私服镜像2

    # 查看私服有哪些镜像
     curl -XGET http://私服IP地址:5000/v2/_catalog
    
    • 1
    • 2

    在这里插入图片描述

    3.10 pull到本地并运行

    拉取之前先删除本地镜像(需要强制删除)

    docker pull 私服IP:5000/mystery_ubuntu:1.3
    
    • 1

    在这里插入图片描述

    3.11 运行拉取下来的镜像检查vim和b.txt

    docker run -it 镜像ID /bin/bash
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    QT多线程的可重入与线程安全介绍
    面试题vue+uniapp(个人理解-面试口头答述)未编辑完整....
    SpringCloud之RocketMQ3
    GNN basic--模型通用流程和分类
    使用FastAPI部署Ultralytics YOLOv5模型
    Linux进程地址空间
    浙江大学工程师学院非全日制定向工程管理【125601】招生问答
    SQL血缘解析原理
    微信小程序 右上角分享 实现代码
    MySQL LIKE BINARY 和 LIKE 模糊查询
  • 原文地址:https://blog.csdn.net/qq_43430759/article/details/126340593
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号