码农知识堂 - 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

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    Python注释及PEP 8编码规范
    刷题:牛客-快速入门篇
    Java并发编程—锁升级
    1688获得店铺的所有商品 API 返回值说明
    Spring Cloud Alibaba+saas企业架构技术选型+架构全景业务图 + 架构典型部署方案
    Go内置函数make和new的区别?
    莫队 从零基础到入门 超详细
    SpringSecurity+jwt使用
    vue项目上线后去除控制台所有console.log打印-配置说明
    Kubernetes/k8s的核心概念
  • 原文地址:https://blog.csdn.net/qq_43430759/article/details/126340593
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号