在上一篇中,我们使用docker commit 命令,创建了一个带有vim的Ubuntu镜像。那么怎么将这个镜像分享出去呢?本文就来讲解如何将本地的docker镜像发布到阿里云上。

本文主要内容:

1:本地镜像发布到阿里云流程

2:镜像的生成方法

3:将本地镜像推送到阿里云仓库

4:将阿里云仓库上的镜像下载到本地

1:本地镜像发布阿里云远程仓库流程:

拉取base镜像>>本地进行相关修改>>commit提交修改内容及tag>>使用命令(Dockerfile)将本地镜像提交到阿里云远程镜像仓库或者是私服镜像仓库中>>拉取远程仓库镜像>>修改。这个流程循环。具体如下图:

2:镜像生成方法:

第一种方法就是 docker commit。使用commit命令生成本地镜像。这一个在上一篇commit实战中,已经详细讲解过,这里就不多说了。想要了解的请移步到:《Docker学习6-Docker镜像commit操作案例》,查看详情。

第二种方法,就是要使用到DockerFile了,这个也是我们以后会常用到的,这种方法,在后面高级篇中,会详细讲解,现在是在基础阶段,这里也不多少了,大家可以跟着凯哥一起一步一步学习。

3:将本地镜像推送到阿里云远程仓库

注意:是先有命名空间,然后才能创建仓库的。仓库是归属于某个命名空间下的。

3.1:在个人实例>>仓库管理>>命名空间>>创建命名空间。然后输入命名空间的名称即可。可以把这个命名空间理解为咱们Java中的包名。具体操作如下图:

创建完成之后,把可以把默认仓库类型设置为公开的。设置成公共的,这样在组内就是共享的,同组能人员就可以直接从远程拉取镜像了。如同咱们的git一样,提交阿里云远程仓库后,其他人也可以拉取一样的道理。

3.2:创建镜像仓库

3.2.1:选择命名空间

点左侧导航栏中的镜像仓库>>全部命名空间>>选择需要创建仓库的命名空间>>创建镜像仓库。如下图:

3.2.2:创建镜像仓库

选择好命名空间后,点击创建镜像仓库按钮>>在弹出窗口中输入仓库名称、仓库了下、摘要等信息.

注意,仓库名称有限制:长度为2-64个字符,可使用小写英文字母、数字,可使用分隔符“_”、“-”、“.”(分隔符不能在首位或末位)

点击下一步,之后是让选择代码的来源。

分为:CodeUp、云Code、GitHub、BitBucket、私有GitLab、本地仓库.非本地仓库的点击后,绑定账号之后,都可以在构建设置中,选择代码变更自动构建镜像功能。

因为本次,咱们是从本地仓库提交到阿里云远程仓库的,所以,咱们就选择本地仓库,然后点击创建镜像仓库。如下图:

提交之后,我们可以看到有一堆的命令。先登录、可以从registry中拉取镜像、将镜像推送到Registry等命令。具体如下图:

本次,实战案例,我们是要将镜像推送到Registry上。所以,我们就选择3模块的三条命令即可。

4:将本地镜像推送到阿里云远程仓库

通过上面第三步骤,我们已经获取到将本地镜像推送的阿里云远程仓库的命令了。接下来,我们就来进行实战操作。

获取到提交阿里云远程仓库的脚本:

docker login --username=修改成你自己的账号 registry.cn-hangzhou.aliyuncs.com

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]

docker push registry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]

根据上面三个命令我们根据操作,可以得到下:

5:将阿里云远程仓库上的镜像下载到本地

使用到的命令,在上面第三步中也能获取到。

步骤:

1:登录;2:从Registry中拉取镜像。直接从页面中复制对应的命令即可。

拉取前,我们先来看看,现在我们本地已经有的镜像,使用:docker images命令

执行从远程拉取镜像命令:

命令公式:

docker pull registry.cn-hangzhou.aliyuncs.com/kaigejava/my_kaigejava:[镜像版本号]

拉取完成之后,我们再来查查本地现有的镜像,来验证是否拉取成功。

我们可以看到,已经有我们提交的阿里云远程仓库镜像了。说明,本地拉取成功。

拉取下来之后,我们来运行下镜像,验证,我们在上一篇文章中添加的vim命令是否已经存在这个镜像中。使用到的命令公式:

docker run -it 镜像id /bin/bash

vim命令可以正常使用了。说明,从远处拉取到的镜像已经包含了添加的vim命令。

好了,至此,我们已经将本地镜像提交到阿里云远程仓库及从远程仓库拉取镜像操作了。在下一篇文章中,凯哥将详细介绍,怎么将本地仓库提交到本地私服上去。

直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:

【图文教程】Windows11下安装Docker Desktop

【填坑】在windows系统下安装Docker Desktop后迁移镜像位置

【Docker学习系列】Docker学习1-docker安装

【Docker学习系列】Docker学习2-docker设置镜像加速器

【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?

【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令

【Docker学习系列】Docker学习系列3:常用命令之容器命令

【Docker学习系列】Docker学习4-常用命令之重要的容器命令

【Docker教程系列】Docker学习5-Docker镜像理解

【Docker教程系列】Docker学习6-Docker镜像commit操作案例

【Docker学习教程系列汇总】笔记及遇到问题解决文章

大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java

【Docker学习教程系列】7-如何将本地的Docker镜像发布到阿里云的更多相关文章

  1. Docker镜像发布到阿里云

    登录阿里云Docker Registry $ sudo docker login --username=xxx@xxx.com registry.cn-hangzhou.aliyuncs.com 从R ...

  2. Docker将镜像文件发布到阿里云

    一.创建新镜像文件 1.创建容器并在容器内创建一个文件夹 在容器内创建一个新文件主要是为了代表这个容器非镜像文件直接创建的容器,而是通过自定义在容器内创建了属于自己的文件 2.提交容器副本使之成为一个 ...

  3. docker学习教程

    我们的docker学习教程可以分为以下几个部分,分别是: 第一:docker基础学习 第二:docker日志管理 第三:docker监控管理 第四:docker三剑客之一:docker-machine ...

  4. 通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    在centos上安装docker # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data l ...

  5. 非常详细的Docker学习教程

    一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...

  6. docker学习笔记(1)——ubuntu16.04安装docker(含如何彻底卸载docker,docker拉取镜像失败解决)

    参考博客: 1.官网教程:https://docs.docker.com/engine/install/   根据本机不同的信息选择不同的安装方式:  https://docs.docker.com/ ...

  7. Docker学习总结(13)——从零开始搭建Jenkins+Docker自动化集成环境

    本文只简单标记下大概的步骤,具体搭建各个部分的细节,还请自行搜索.第一.二部分只是对Jenkins和Docker的简单介绍,熟悉的同学请直接跳到第三部分. 一.关于Jenkins Jenkins简介 ...

  8. Docker学习总结(12)——非常详细的 Docker 学习笔记

    一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...

  9. Docker本地镜像发布到阿里云和从阿里云拉取镜像

    登录阿里云官网,找到容器镜像服务 进入镜像仓库,创建仓库 输入信息 选择本地仓库 这里我要将这个镜像提交到仓库 回到仓库列表,点击管理 docker login --username=cn丶moti ...

  10. Docker学习笔记_使用Dockerfile创建flask的一个镜像

    一.实验环境 1.宿主机OS:Win10 64位 2 .虚拟机OS:Ubuntu18.04 64位    虚拟机名称:Ubuntu18VM1   虚拟机IP:192.168.8.25 3.账号:doc ...

随机推荐

  1. 洛谷·P1130

    #include<iostream> #include<utility> using namespace std; typedef long long ll; #define ...

  2. 当一名有着 10w+ 听众的播客主播开始做 App

    名字: AAAny 开发者 / 团队: AAAny Team 平台: iOS 请简要介绍下这款产品 AAAny 是一个专为 AMA(我们称之为 AAA)设计的 App.多解释一下的话,其实 AAA 是 ...

  3. 原创软件 | 第3期:PDF合并分割助手V1.0(个人免费)

    这是一个短的"发布会". 01 基本介绍 近期开发了一个[PDF合并分割助手]. 它是一个实现pdf快速合并.分割的免费软件. 你拥有以下7种选项设置. >>合并选项& ...

  4. 2 手机号登录时,调的不是login接口,而是注册的一个接口

    手机号登录时,调的不是login接口,而是注册的一个接口

  5. 安装PHP拓展

    win环境下: php扩展下载地址:http://pecl.php.net/ 需要知道:  php版本,操作系统位数,线程是否安全.想要知道这3个,在php中输入.如下图所示:phpinfo();di ...

  6. Superviso可视化监控进程

    如果您需要同时运行多个 ThinkPHP 命令,可以在 Supervisor 中为每个命令创建一个单独的程序段.以下是示例配置,其中包含两个 ThinkPHP 命令:command1.php 和 co ...

  7. PHP进阶

    只是简要说明起原理和用法,具体可以百度 abstract 抽象类 抽象类是指在 class 前加了 abstract 关键字且存在抽象方法,不带{},如public function test() i ...

  8. Vue Hook 封装通用型表格

    一.创建通用型表格的需求 实现一个通用型表格组件,具备以下功能: 动态列配置. 分页功能. 排序功能. 可扩展的行操作功能. 二.设计通用型表格组件 首先,需要设计一个基础的表格组件,它接受列配置.数 ...

  9. 【RabbitMQ】13 消息补偿 & 幂等保障

    https://www.bilibili.com/video/BV15k4y1k7Ep?p=34 我靠,幂等保障就是乐观锁控制啊 https://www.bilibili.com/video/BV15 ...

  10. 【WEB】URL文件

    早些年接触电脑的时候就有这个东西,去网站上下载盗版游戏,网站会附加这种URL文件 双击运行之后是打开浏览器跳转到该文件描述的网址 我从来没想过这东西里面写的是什么 百度经验: https://baij ...