一、获取镜像

Docker Hub 上有大量的高质量的镜像让我们获取,命令为:

  1. docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

具体的选项可以通过 docker pull --help 来查看。

[Docker Registry 地址[:端口号]/] :这个指的就是 域名/IP[:端口号],默认就是 Docker Hub 的地址。

仓库名[:标签]:仓库名是一个两段式名称,是 <用户名>/<软件名>,用户名默认是 library,也就是官方镜像。

例如:

  1. $ docker pull ubuntu:18.04
  2. 18.04: Pulling from library/ubuntu
  3. bf5d46315322: Pull complete
  4. 9f13e0ac480c: Pull complete
  5. e8988b5b3097: Pull complete
  6. 40af181810e7: Pull complete
  7. e6f7c7e5c03e: Pull complete
  8. Digest: sha256:147913621d9cdea08853f6ba9116c2e27a3ceffecf3b492983ae97c3d643fbbe
  9. Status: Downloaded newer image for ubuntu:18.04

如上图所示,没有给出镜像地址,docker 便会去 Docker Hub 上获取,而仓库名是  library/ubuntu,标签是 18.04,默认就是 library,官方镜像。

二、运行镜像

  1. docker run -i -t --rm --name my_ubuntu ubuntu:18.04 bash
  1. root@e7009c6ce357:/# cat /etc/os-release
  2. NAME="Ubuntu"
  3. VERSION="18.04.1 LTS (Bionic Beaver)"
  4. ID=ubuntu
  5. ID_LIKE=debian
  6. PRETTY_NAME="Ubuntu 18.04.1 LTS"
  7. VERSION_ID="18.04"
  8. HOME_URL="https://www.ubuntu.com/"
  9. SUPPORT_URL="https://help.ubuntu.com/"
  10. BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
  11. PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
  12. VERSION_CODENAME=bionic
  13. UBUNTU_CODENAME=bionic

我们来解释一下各个参数的意义。

  • -i : 交互式操作。
  • -t : 开启一个终端。
  • --rm : 指的是容器运行退出之后自动删除容器,这里我们只是运行试试看,不需要保留所创造的容器。
  • --name : 是给你所创造的容器起的名字。
  • ubuntu:18.04 :这是镜像的名字
  • bash : 跟在镜像后面的是命令,我们希望有个交互式的 shell,因此用的是 bash。

cat /etc/os-release 查看系统版本命令,结果中我们看到系统是 ubuntu:18.04 LTS,然后输入 exit 退出容器。

三、列出镜像

  1. $ docker image ls
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. centos latest 0584b3d2cf6d 3 weeks ago 196.5 MB
  4. redis alpine 501ad78535f0 3 weeks ago 21.03 MB
  5. docker latest cf693ec9b5c7 3 weeks ago 105.1 MB
  6. nginx latest e43d811ce2f4 5 weeks ago 181.5 MB

列表里包括了  仓库名,标签,镜像 ID,创建时间,镜像大小。

由于 Docker 使用 Union FS,相同的镜像层秩序保存一个,所以镜像大小不代表实际占有硬盘大小。

可以通过使用一下命令查看镜像,容器,数据卷占用硬盘情况:

  1. $ docker system df
  2.  
  3. TYPE TOTAL ACTIVE SIZE RECLAIMABLE
  4. Images 24 0 1.992GB 1.992GB (100%)
  5. Containers 1 0 62.82MB 62.82MB (100%)
  6. Local Volumes 9 0 652.2MB 652.2MB (100%)
  7. Build Cache 0B 0B

四、删除镜像

如果要删除本地镜像,那么使用下面的格式:

  1. $ docker image rm [选项] <镜像1> [<镜像2> ...]

上面的镜像一般是指 镜像ID,或者镜像名来删除

镜像 ID 分为长 ID 和短 ID,通常我们 docker images 显示的就是短 ID 了,但是删除镜像时,使用短 ID 的前三个字符一般就可以区分镜像了。例如删除上面的 redis 镜像:

  1. $ docker image rm
  2. Untagged: redis:alpine
  3. Untagged: redis@sha256:f1ed3708f538b537eb9c2a7dd50dc90a706f7debd7e1196c9264edeea521a86d
  4. Deleted: sha256:501ad78535f015d88872e13fa87a828425117e3d28075d0c117932b05bf189b7
  5. Deleted: sha256:96167737e29ca8e9d74982ef2a0dda76ed7b430da55e321c071f0dbff8c2899b
  6. Deleted: sha256:32770d1dcf835f192cafd6b9263b7b597a1778a403a109e2cc2ee866f74adf23
  7. Deleted: sha256:127227698ad74a5846ff5153475e03439d96d4b1c7f2a449c7a826ef74a2d2fa
  8. Deleted: sha256:1333ecc582459bac54e1437335c0816bc17634e131ea0cc48daa27d32c75eab3
  9. Deleted: sha256:4fc455b921edf9c4aea207c51ab39b10b06540c8b4825ba57b3feed1668fa7c7

还可以使用镜像名字删除,这里的镜像名字指的是 仓库名:标签,例如删除上面的 centos 镜像:

  1. $ docker image rm centos
  2. Untagged: centos:latest
  3. Untagged: centos@sha256:b2f9d1c0ff5f87a4743104d099a3d561002ac500db1b9bfa02a783a46e0d366c
  4. Deleted: sha256:0584b3d2cf6d235ee310cf14b54667d889887b838d3f3d3033acd70fc3c48b8a
  5. Deleted: sha256:97ca462ad9eeae25941546209454496e1d66749d53dfa2ee32bf1faabd239d38

Docker 入门到实践(四)Docker 使用镜像的更多相关文章

  1. Docker入门与实践之 docker安装与了解

    一.Docker 概述 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...

  2. Docker入门教程(四)Docker Registry

    Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...

  3. Docker入门之 - 如何安装Docker CE

    原文:Docker入门之 - 如何安装Docker CE 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/article/det ...

  4. Docker入门与实践

      一.Docker介绍 docker官网:https://www.docker.com/ Docker hub地址: https://hub.docker.com/   1.基本概念 Docker ...

  5. 《Docker 入门与实践》 已经出版了~欢迎有须要的朋友关注。

    在云计算时代.开发人员将应用转移到云上已经攻克了硬件管理的问题,然而软件配置和管理相关的问题依旧存在. Docker的出现正好能帮助软件开发人员开阔思路.尝试新的软件管理方法来解决问题. 通过掌握Do ...

  6. Docker入门到实践

    1.什么是Docke 1.网上有很多 2.为什么要使用Docker? 优点 更高效的利用系统资源 更快速的启动时间 一致的运行环境 持续交付和部署 更轻松的迁移 更轻松的维护和扩展 3.Docker的 ...

  7. Docker 入门到实践(三)Docker 安装

    注意:不要在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker. 一.准备工作 系统要求 Docker CE 支持一下版本的 Ubuntu 操作系统 Cosmic 18 ...

  8. Docker入门到实践——简单操作

    1.对比传统虚拟机总结 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为MB 一般为GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 2.基本概念 Docker包括三个基 ...

  9. Docker入门 .Net Core 使用Docker全程记录

    https://www.cnblogs.com/flame7/p/9210986.html Docker入门 第一课 --.Net Core 使用Docker全程记录   微服务架构无疑是当前最火热的 ...

随机推荐

  1. JavaSSM框架整合

    SSM整合 ssm框架 框架整合  在博客的前面介绍了mybatis,spring,springmvc的使用,那么这篇博客将介绍将mybatis和spring,springmvc的整合. 整合之前,我 ...

  2. μC/OS-II 任务的同步与通信 --- 消息邮箱

    简介 如果把数据缓冲区的指针赋给一个事件控制块的成员 OSEventPrt,同时使事件控制块的成员 OSEventType 为常数 OS_EVENT_TYPE_MBOX,则该事件控制块就叫做消息邮箱, ...

  3. μC/OS-II 任务堆栈的初始化

    任务堆栈的作用 应用程序在创建一个新任务的时候,必须把在系统启动这个任务时 CPU 各寄存器所需要的初始数据(任务指针.任务堆栈指针.程序状态字等等),事先存放在任务的堆栈中,以备任务切换等操作时调用 ...

  4. hadoop小结

    测试小结:1.如果只需要对数据集进行过滤,筛选则只需要编写Mapper类,不需要Reduce类,此时要执行下面一条语句:job.setNumReduceTesk(0);2.如果需要对处理的数据进行分组 ...

  5. 用python实现红包机制

    方法一,逻辑是后一个红包的范围是[0.01,剩下的钱*2/剩下的红包数,如果最后钱不足分配给每个人,就把后几个每人分配0.01元. 主要思想就是,每个人至少能领取到0.01元. import rand ...

  6. mysql+mycat实现读写分离

    centos7       master slave mycat1.6 client 192.168.41.10 192.168.41.11 192.168.41.12 192.168.41.13 实 ...

  7. JQuery官方学习资料(译):操作元素

      获取和设置元素的信息     有很多种方式可以改变现有的元素,最常见的是改变HTML内容或者元素的属性.JQuery提供了简单的夸浏览器的方法来帮助你实现元素信息的获取和设置. .html():获 ...

  8. EF 传递的主键值的数量必须与实体上定义的主键值的数量匹配 原因

    主要是该数据表没有定义主键造成的

  9. SpringMVC表单验证与Velocity整合

    阅读本文约“1.2分钟” 定义表单类 以Login为例,有username和password两个字段 import javax.validation.constraints.NotNull; impo ...

  10. MySQL事务(学习笔记)

    MySQL事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事 ...