前言

Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似
我们可以把镜像看作类,把容器看作类实例化后的对象。

docker 面向对象
镜像
容器 实例

查看镜像列表

使用docker images查看本地已经下载的镜像

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签,区分不同版本
  • IMAGE ID:镜像ID,16进制组成,唯一标识
  • CREATED:镜像创建时间
  • SIZE:镜像大小
[root@yoyo ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
centos/python-36-centos7   latest              b8d15efaa8ec        2 months ago        651MB
ubuntu                     15.10               9b9cb95443b5        2 years ago         137MB
training/webapp            latest              6fae60ef3446        4 years ago         349MB
[root@yoyo ~]# 

我们本地下载的镜像文件是从仓库下载过来的,每个镜像在仓库源都有个名称,也就是 REPOSITORY,同一个镜像源可以有不同的版本,同标签(TAG)区分

下载镜像

直接使用 docker pull centos 默认是下载的最新的latest版本

docker pull centos

[root@yoyo ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
8ba884070f61: Already exists
Digest: sha256:b5e66c4651870a1ad435cd75922fe2cb943c9e973a9673822d1414824a1d0475
Status: Downloaded newer image for centos:latest
[root@yoyo ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
centos/python-36-centos7   latest              b8d15efaa8ec        2 months ago        651MB
centos                     latest              9f38484d220f        3 months ago        202MB
ubuntu                     15.10               9b9cb95443b5        2 years ago         137MB
training/webapp            latest              6fae60ef3446        4 years ago         349MB
[root@yoyo ~]# 

搜索镜像

docker search搜索相关的镜像文件

[root@yoyo ~]# docker search centos
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   5424                [OK]
ansible/centos7-ansible            Ansible on Centos7                              121                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.10 x86_64 / CentOS-7 7.6.1810 x86…   110                                     [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   91                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              57                                      [OK]
centos/mysql-57-centos7            MySQL 5.7 SQL database server                   54
tutum/centos                       Simple CentOS docker image with SSH access      44
centos/postgresql-96-centos7       PostgreSQL is an advanced Object-Relational …   37
kinogmt/centos-ssh                 CentOS with SSH                                 27                                      [OK]

如果我想下载一个centos7.5的镜像版本,该如何找到呢?

查找TAG版本

如果要找到指定的TAG版本,需打开docker官网https://hub.docker.com/search/?type=image,搜索框输入:centos搜索。
点击详情,找到TAGS,就可以看到不同的标签版本了

接下来指定TAG名称下载,后面加个冒号:标签名称

docker pull centos:centos7.5.1804

[root@yoyo ~]# docker pull centos:centos7.5.1804
centos7.5.1804: Pulling from library/centos
5ad559c5ae16: Pull complete
Digest: sha256:7a45e4a1efbaafc1d9aa89925b6fdb33288a96d35ea0581412316e2f0ad3720a
Status: Downloaded newer image for centos:centos7.5.1804
[root@yoyo ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
centos/python-36-centos7   latest              b8d15efaa8ec        2 months ago        651MB
centos                     centos7.5.1804      cf49811e3cdb        3 months ago        200MB
centos                     latest              9f38484d220f        3 months ago        202MB
ubuntu                     15.10               9b9cb95443b5        2 years ago         137MB
training/webapp            latest              6fae60ef3446        4 years ago         349MB
[root@yoyo ~]# 

更新镜像

上面下载的TAG名称是centos7.5.1804,这个太长了不太好记,可以改成一个自己喜欢的TAG名称,比如7.5

更新镜像需先启动容器

docker run -d centos:centos7.5.1804

[root@yoyo ~]# docker run -d centos:centos7.5.1804
64cc20e825e3cb70bdbb5c22dac72b061fba77895e794ae7a06d57d2ddfb8a96
[root@yoyo ~]# docker ps -a
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS                      PORTS               NAMES
64cc20e825e3        centos:centos7.5.1804      "/bin/bash"              38 seconds ago      Exited (0) 35 seconds ago                       recursing_ardinghelli
fefdcbb9c662        centos/python-36-centos7   "container-entrypoin…"   24 hours ago        Exited (0) 24 hours ago                         quirky_cray
9df329b5effd        centos/python-36-centos7   "container-entrypoin…"   24 hours ago        Exited (0) 24 hours ago                         nifty_roentgen

启动之后,查看到容器id号64cc20e825e3,根据容器id,去修改

  • -m:提交的描述信息
  • -a:指定镜像作者
  • e218edb10161:容器ID
  • runoob/ubuntu:v2:指定要创建的目标镜像名

docker commit -m="update tag name" -a="yoyo" 64cc20e825e3 centos:7.5

[root@yoyo ~]# docker commit -m="update tag name" -a="yoyo" 64cc20e825e3  centos:7.5
sha256:254d4dfe9df7765ccf511bd8e7ff1f5de96b0b5a0af2542ee4cd30c8ac0575b3
[root@yoyo ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED              SIZE
centos                     7.5                 254d4dfe9df7        8 seconds ago        200MB
centos                     latest              b9af5ce31055        35 seconds ago       200MB
centos/python-36-centos7   latest              b8d15efaa8ec        2 months ago         651MB
ubuntu                     15.10               9b9cb95443b5        2 years ago          137MB
training/webapp            latest              6fae60ef3446        4 years ago          349MB
[root@yoyo ~]# 

设置镜像TAG

如果只是修改镜像TAG名称,可以用docker tag给镜像取个新的tag名称, 这里的id是镜像的id

docker tag 254d4dfe9df7 centos:v7.5

[root@yoyo ~]# docker tag 254d4dfe9df7 centos:v7.5
[root@yoyo ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
centos                     7.5                 254d4dfe9df7        9 minutes ago       200MB
centos                     v7.5                254d4dfe9df7        9 minutes ago       200MB
centos                     latest              b9af5ce31055        9 minutes ago       200MB
centos/python-36-centos7   latest              b8d15efaa8ec        2 months ago        651MB
ubuntu                     15.10               9b9cb95443b5        2 years ago         137MB
training/webapp            latest              6fae60ef3446        4 years ago         349MB
[root@yoyo ~]# 

这时候会多了一个v7.5的标签

删除镜像

上面多了个7.5的TAG,并且IMAGE ID是重复的,可以使用docker rmi 删掉它,可以加-f参数强制删除

  • -f :强制删除;
  • --no-prune :不移除该镜像的过程镜像,默认移除;
[root@yoyo ~]# docker rmi centos:7.5
Untagged: centos:7.5
[root@yoyo ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
centos                     v7.5                254d4dfe9df7        12 minutes ago      200MB
centos                     latest              b9af5ce31055        12 minutes ago      200MB
centos/7.5                 latest              62a395cab78e        13 minutes ago      200MB
centos/python-36-centos7   latest              b8d15efaa8ec        2 months ago        651MB
centos                     centos7.5.1804      cf49811e3cdb        3 months ago        200MB
centos                     <none>              9f38484d220f        3 months ago        202MB
ubuntu                     15.10               9b9cb95443b5        2 years ago         137MB
training/webapp            latest              6fae60ef3446        4 years ago         349MB
[root@yoyo ~]# 

想在别人的基础上重新做一个镜像,需要创建一个 Dockerfile 文件,后面讲 Docker 如何构建我们的镜像。

python接口QQ群:717225969

转载于:https://www.cnblogs.com/yoyoketang/p/11094484.html

docker学习3-镜像的基本使用相关推荐

  1. Docker学习之镜像操作

    使用Docker镜像 以下都是Docker镜像的一系列重要名操作,包括获取.查看.搜索.删除.创建.存出或载入.上传等.可使用docker image help命令查看帮助. 1.获取镜像(pull) ...

  2. 阿良老师 Docker学习_Harbor镜像仓库搭建和使用

    一.Harbor是什么? Harbor是由VMWare公司开源的容器镜像仓库,事实上Harbor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性 ...

  3. Docker学习 - Ubuntu镜像启动使用(换阿里镜像源)

      Ubuntu系统 阿里云镜像源官方配置: https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11PKz ...

  4. Docker学习之路 用commit命令创建镜像

    Docker学习之路 用commit命令创建镜像 docker 74k 次阅读 · 读完需要 7 分钟 假期快要结束了,干点正事,接着Docker的学习. 构建镜像 构建镜像的两种方法: 使用dock ...

  5. Docker学习二:Docker镜像与容器

    前言 本次学习来自于datawhale组队学习: 教程地址为: https://github.com/datawhalechina/team-learning-program/tree/master/ ...

  6. docker学习笔记(三)镜像

    参考:汤小洋老师的教学视频 docker学习笔记(一)[docker 介绍.卸载.安装.配置加速] docker学习笔记(二)docker常用命令 docker学习笔记(四)使用docker搭建环境 ...

  7. Docker学习--Docker镜像的管理操作

    一.获取镜像 docker pull [IMAGE_NAME]:[TAG] [IMAGE_NAME]表示的是镜像的名称,[TAG]表示的是镜像的标签,也就是说我们需要通过"镜像名+标签&qu ...

  8. Docker学习之路04:创建定制Nginx镜像

    Docker学习之路04:创建定制Nginx镜像 Docker学习路线传送门: Docker学习之路01:Docker的安装 Docker学习之路02:阿里云镜像加速器 Docker学习之路03:Do ...

  9. Docker学习(3)-Docker镜像构建和使用

    Docker学习(1)-Docker简介 Docker学习(2)-Docker基础1 Docker 镜像与制作 Docker 镜像内是否包含内核(bootfs)? 首先,从镜像的体积大小来说,一个比较 ...

  10. Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)

    文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...

最新文章

  1. VUE的本地应用-V- show
  2. CStopwatch详细用法
  3. Codeforces Round #513
  4. 金山卫士UI原理解析(2)CBkWindow
  5. [原创]SpotLight性能监控工具使用介绍
  6. 后端程序员工作经验总结
  7. 问题 1046: [编程入门]自定义函数之数字后移
  8. mysql知识汇总2019
  9. 面试:MySQL 架构
  10. C语言_顺序结构的程序设计
  11. java面试题_2020年JAVA最新大厂面试题!
  12. 智能一代云平台(二十一):生产环境Nginx报 502 Bad Gateway 问题复现及解决方案
  13. AD元件库和封装库转换成KiCAD库方法
  14. 数据可视化——tableau 数据报表样例(报表模板)二
  15. 知识兔课程揭秘跨境电商的大骗局,你有没有被坑过!
  16. NISP二级复习题库
  17. 用java设计一个矩形类_6-1 设计一个矩形类Rectangle (10分)
  18. 水文专业对计算机要求,来了来了,高考志愿这么填!
  19. 【图像去噪】基于matlab自适应中值滤波图像去噪【含Matlab 1156期】
  20. 服务器的备份文件在哪里找,云服务器系统如何备份文件在哪里看

热门文章

  1. 系统学习深度学习(七)--主流深度学习开源框架对比
  2. Mysql分区表的使用
  3. Windows核心编程_让窗口跟随系统样式变化
  4. Visual Studio开发工具分配字符数组的问题
  5. CSS绝对底部布局 Sticky footer
  6. 升级glibc库到glibc-2.14.1
  7. 什么是服务的熔断降级
  8. 搭建Discuz论坛的两种方式
  9. 巴基斯坦削减光伏发电上网电价或影响清洁能源发展前景
  10. Visual Studio 要求导入 pfx 密钥以及导入后依然要求导入的解决办法