一、Docker镜像介绍

镜像是Docker的三大核心概念之一。

Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认的镜像仓库下载(默认使用Docker Hub公共注册服务中的仓库),我们也可以通过配置,使用自定义的镜像仓库。

二、获取最新的Ubuntu镜像

从Docker Hub的Ubuntu仓库下载一个最新的Ubuntu操作系统镜像,并下载一个centos7.2的系统镜像

# docker pull ubuntu

# docker pull centos:7.2.1511

从下载过程中可以看到分层存储的概念,镜像是由多层存储所构成。下载也是一层层的去下载,并非单一文件。下载过程中给出了每一层的 ID 的前 12 位。并且下载结束后,给出该镜像完整的 sha256 的摘要,以确保下载一致性。

三、查看本地镜像信息

# docker images
# 来自于哪个仓库   镜像标签信息      镜像的ID(唯一)    创建时间        镜像大小
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest weeks ago .2MB
centos 7.2. 9aec5c5fe4ba months ago 195MB
centos latest 1e1148e4cc2c months ago 202MB

使用docker tag为本地镜像添加新的标签, 这两个镜像的ID是一样的,只是名字不同而已。标签起到的快捷方式的作用。

# docker tag centos:7.2. centos:7.2
# docker images
REPOSITORY TAG          IMAGE ID       CREATED        SIZE 
centos 7.2 9aec5c5fe4ba months ago 195MB
centos 7.2. 9aec5c5fe4ba months ago 195MB

四、搜索镜像

--stars=0 默认的输出结果将按照星级评价进行排序,还可看到是否官方镜像,是否自动允许用户验证镜像的来源和内容。

# docker search mysql 

五、删除镜像

# docker rmi ubuntu:latest

# 或者复制镜像的ID全部删除
# docker rmi -f 9aec5c5fe4ba

六、创建镜像

创建镜像有三种方法:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建。

本次主要是基于已有的镜像容器创建

6.1 首先启动一个镜像,并在其中进行修改,并退出

[root@--- ~]# docker run -it centos /bin/bash
[root@f2306f13f765 /]# yum install net-tools -y
[root@f2306f13f765 /]# exit

6.2使用docker commit创建容器

# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2306f13f765 centos "/bin/bash" minutes ago Exited () About a minute ago gracious_shockley # docker commit -m 'install net-tools' -a 'lzfn' f2306f13f765 centos_test # -m 提交消息,-a 作者信息
sha256:c753a863c07a4901ed72ff39110971538a40dfc66824dffad5e0060d5994b555 # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos_test latest c753a863c07a seconds ago 291MB

七、镜像的导入与导出

7.1 将镜像导出到本地文件

# docker save -o centos7..tar centos:7.2.

# docker save centos:7.2. > centos7..tar

7.2 将本地镜像导入到docker仓库

# docker load --input centos7..tar

# docker load < centos7..tar

Docker镜像服务(二)的更多相关文章

  1. Dockerfile自动制作Docker镜像(二)—— 其它常用命令

    Dockerfile自动制作Docker镜像(二)-- 其它常用命令 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerf ...

  2. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

  3. 使用阿里Docker镜像加速器加速

    在阿里开发者平台注册开发者账号 https://dev.aliyun.com/search.html 注册之后可以访问Docker镜像服务 https://cr.console.aliyun.com/ ...

  4. Dockerfile 自动制作 Docker 镜像(三)—— 镜像的分层与 Dockerfile 的优化

    Dockerfile 自动制作 Docker 镜像(三)-- 镜像的分层与 Dockerfile 的优化 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云 ...

  5. 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World

    操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...

  6. Docker for Windows(二)登录与配置镜像加速器

    一.启动Docker for Windows 通过桌面Docker Desktop启动,右下角出现的白色鲸鱼图标保持稳定时,表示Docker正在正常运行,将鼠标移到图标上会显示"Docker ...

  7. docker微服务部署之:五、利用DockerMaven插件自动构建镜像

    docker微服务部署之:四.安装docker.docker中安装mysql和jdk1.8.手动构建镜像.部署项目 在上一篇文章中,我们是手动构建镜像,即: 4.1.2.5.1.2.6.1.2中的将d ...

  8. Docker学习(二): 镜像的使用与构建

    特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...

  9. 为Docker镜像添加SSH服务

    一.基于commit命令创建 1. 首先下载镜像 $ docker run -it ubuntu:16.04 /bin/bash 2. 安装SSH服务 #更新apt缓存 root@5ef1d31632 ...

随机推荐

  1. 201871010111-刘佳华《面向对象程序设计(java)》第十周学习总结

    201871010111-刘佳华<面向对象程序设计(java)>第十周学习总结 实验八 异常.断言与日志 实验时间 2019-11-1 1.实验目的与要求 (1) 掌握java异常处理技术 ...

  2. window系统下的pycharm对虚拟机中的Ubuntu系统操作MySQL数据库

    问题:程序员和数据库的爱情故事:程序为了追一个叫MySQL数据库的姑娘,先苦练功夫,自己模拟泡妹过程积累经验,于是想到一个解决方法:[解决虚拟机跑需要连接数据库的程序卡的问题,通过在物理机Window ...

  3. monkey参数

    一.参数分类 常规类参数:包括帮助参数和日志信息参数. 帮助类参数:monkey -h     -- 输出monkey命令使用指导 日志信息参数:monkey -v <event-count&g ...

  4. 洛谷P3206 [HNOI2010]城市建设

    神仙题 题目大意: 有一张\(n\)个点\(m\)条边的无向联通图,每次修改一条边的边权,问每次修改之后这张图的最小生成树权值和 话说是不是\(cdq\)题目都可以用什么数据结构莽过去啊-- 这道题目 ...

  5. C++ 回调函数的多种用法

    什么是回调函数, 就是以函数指针做参数传递给另一个函数称之为回调函数, 字面意思很简单, 但就这几个字想理解回调函数, 那又很难.因此别就这这字面意思, 只要知道怎么用, 在什么情况下用就行了 什么场 ...

  6. 海边拾贝-A-算法篇

    收集若干算法博客地址,不定期会更新: 算法 陈浩,leetcode 的C++解法  https://github.com/haoel/leetcode 王亮,很多题目讲解的比较详细   https:/ ...

  7. LeetCode 225:用队列实现栈 Implement Stack using Queues

    题目: 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 Implement th ...

  8. 如何让 C# 在运行时自动选择合适的重载方法?

    如题:假设我们有一段代码: static void Main(string[] args) { ; // 假设这里的 obj 的值来自于外部方法 PrintType(obj); } public st ...

  9. C# SmtpClient 发邮件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. c# 模拟表单提交,post form 上传文件、数据内容

    转自:https://www.cnblogs.com/DoNetCShap/p/10696277.html 表单提交协议规定:要先将 HTTP 要求的 Content-Type 设为 multipar ...