Docker学习04_镜像管理

Posted xjcn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker学习04_镜像管理相关的知识,希望对你有一定的参考价值。

  运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

可以在浏览器中访问 https://hub.docker.com/search?q=&type=image 来搜索和查看官方镜像仓库。

技术图片

   使用 docker images 列出本地镜像:

技术图片

  同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如果不指定一个镜像的版本标签,docker 将默认使用 最新版本即”仓库源名称:latest” 镜像。

  执行docker search来搜索镜像:

技术图片

   执行docker pull来获取镜像:

技术图片

 更新已有镜像

  启动一个已下载的CentOS 7.5的容器,并进入容器内linux shell交互界面

[root@Docker-Test containers]# docker run -t -i centos:7.5.1804 /bin/bash

  执行 yum update更新此容器环境的CentOS:

技术图片

   (补充:上图中显示当前是在容器ID 4168e485ed17里的Centos执行shell command,那是因为启动此容器的时候,我加上了-t -i参数

但是如果临时有其他事情中断导致退出了此界面,再登录宿主机Linux时,需重新进入此容器的shell时,执行docker exec -i -t Container ID or name /bin/bash即可)

  更新完毕,执行docker commit提交生成一个新的自定义镜像:

技术图片

    -m 添加描述,-a 添加作者,4168e485ed17 被操作的容器ID,xj/centos 自定义资源库名称,v20190910 自定义TAG,标识一下版本号

创建新的镜像

  创建一个Dockerfile文件,定义创建镜像的指令:(文件名必须是Dockerfile)

[root@Docker-Test tmp]# vi Dockerfile 

技术图片

 每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

-t 定义目标镜像名 ,/tmp为我创建的Dockerfile路径 (无需也无法直接指定到文件,因为它自动指向路径下名为Dockerfile的文件)

技术图片

   docker images命令显示已生成此镜像。

新增镜像标签 docker tag

使用 docker tag 命令,为同个镜像增添一个新的标签。

技术图片

删除镜像   docker rmi

技术图片

 

以上是关于Docker学习04_镜像管理的主要内容,如果未能解决你的问题,请参考以下文章

003Docker学习__commit命令构建docker镜像

docker学习2-镜像管理

Docker学习笔记 —— Docker管理容器

Docker学习笔记 —— Docker管理容器

Docker学习--docker的基本认识

DOCKER学习_011:使用Dockerfile制作docker镜像