美文网首页
docker镜像的基本操作命令

docker镜像的基本操作命令

作者: 八目朱勇铭 | 来源:发表于2017-10-20 18:10 被阅读0次

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

1、获取镜像

docker pull IMAGE[:TAG]
如果不显示地指定TAG,则默认会选择latest标签,即下载仓库中最新版本的镜像。例如pull ubuntu镜像,IMAGE默认的全名为registry.hub.docker.com/ubuntu:latest,即从默认的服务器registry.hub.docker.com中的ubuntu仓库来下载标记为latest的镜像。

用户也可以选择从其他注册服务器的仓库下载,此时,需要在仓库名称前指定完整让的仓库注册服务器地址。例如从DockerPool社区的镜像源dl.dockerpool.com下载最新的ubuntu镜像:docker pull dl.dockerpool.com:5000/ubuntu

2、查看镜像信息

docker images :列出本地主机上已有的镜像信息

  • repository:来自于哪个仓库,比如ubuntu仓库
  • tag:镜像的标签信息,比如14.04
  • image id:镜像的唯一ID号
  • created:创建时间
  • virtual size:镜像大小

docker tag:为本地镜像添加新的标签。例如添加一个属于我的ubuntu标签
docker tag dl.dockerpool.com:5000/ubuntu:latest ubuntu:bamu

3、搜寻镜像

docker search TERM:搜索远端仓库中共享的镜像,默认搜索Docker Hub官方仓库中的镜像。

支持的参数如下:
--automated=false 仅显示自动创建的镜像
--no-trunc=false 输出信息不截断显示
-s, --stars=0 指定仅显示评价为指定星级以上的镜像

docker search mysql result

可以看到返回了很多包含mysql关键字的镜像,输出的结果按照星级评价进行排序。其中包括镜像名字、描述、星级、是否官方创建、是否自动创建等。官方的镜像说明该镜像是由官方项目组创建和维护的,automated资源则允许用户验证镜像的来源和用途。

4、删除镜像

docker rmi
docker rmi IMAGE [IMAGE...],其中IMAGE可以为标签或ID

  • 使用镜像标签删除镜像:docker rmi命令只是删除了该镜像多个标签中的指定标签而已,并不影响镜像文件。当镜像只剩下一个标签的时候就要小心了,此时再使用docker rmi命令会彻底删除该镜像文件。
  • 使用镜像ID删除镜像:会先尝试删除所有指向该镜像的标签,然后删除镜像文件本身。

注意:当有该镜像创建的容器存在时(无论该容器正在运行中还是已经停止),镜像文件默认是无法被删除的。

如果想要强行删除镜像,可以使用-f参数:docker rmi -f ubuntu。但不推荐使用-f参数强制删除,因为这样往往会造成一些遗留问题。假设我们使用-f参数强制删除,再次使用docker images命令查看本地镜像情况,会发现一个标签为<none>的临时镜像,原来刚才被强制删除的镜像换了新的ID继续存在系统中。

因此,正确的做法是,先删除依赖该镜像的所有容器,再删除该镜像。

5、创建镜像

创建镜像的方式有三种:

  • 基于已有镜像的容器创建
  • 基于本地模板导入
  • 基于Dockerfile创建

本节介绍前两种,第三种方式在将来的文章中详细讲解。

基于已有的容器创建

该方法使用docker commit 命令,格式为:docker commit [OPTIONS] CONTAINERS [REPOSITORY[:TAG]],参数信息如下:

  • -a, --author="" 作者信息
  • -m,--message="" 提交消息
  • -p,--pause=true 提交时暂停容器运行

实践一下:
1)启动容器并新建文件:
docker run -ti ubuntu /bin/bash
touch test
exit

此时该容器跟原镜像启动的容器相比,已经发生改变。可以使用docker commit 命令来提交为一个新的镜像,提交时可以使用ID或名称来指定容器。

2)创建新的镜像
docker commit -m "new image" -a "bamu" container01 ubuntu_bamu

3)查看本地镜像列表,即可看到新创建的镜像
docker images

本地模板导入

也可以直接从一个操作系统模板文件导入一个镜像,推荐使用OpenVZ提供的模板来创建。OpenVZ模板的下载地址为:https://openvz.org/Download/templates/precreated,通过该地址下载了一个ubuntu-14.04模板压缩包后,可以使用如下命令导入:
cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04
然后查看新导入的镜像,已经在本地存在了。

6、存出和载入镜像

可以使用docker save和docker load命令来存出和载入镜像

存出镜像

存出本地的ubuntu:14.04镜像为文件ubuntu_14.04.tar:docker save -o ubuntu_14.04.tar ubuntu:14.04

载入镜像

将文件ubuntu_14.04.tar导入镜像到本地镜像列表:docker load --input ubuntu_14.04.tar 或 docker load < ubuntu_14.04.tar
这将导入镜像以及其相关的元数据信息(包括标签等),可以使用docker images命令查看。

上传镜像

默认上传至DockerHub官方仓库(需要登录),命令格式为docker push NAME[:TAG]
用户在DockerHub网站注册后,即可上传自制的镜像,例如用户user上传本地镜像test:latest镜像,可以先添加标签user/test:latest,然后用docker push 命令上传镜像。
docker tag test:latest user/test:latest
docker push user/test:latest

相关文章

  • docker 基本命令

    一,关于docker镜像操作的基本命令 二,关于docker容器操作的基本命令 三,关于docker仓库操作的基本命令

  • Docker 部署前端项目流程

    1、基本的 docker 操作命令 docker images --- 查看所以镜像 docker search ...

  • docker常用命令总结

    参考链接 Docker 常用命令与操作 docker常用命令总结——安装、镜像、容器基本操作

  • 记录一次Docker的学习

    Docker学习 Docker概述 Docker安装 Docker命令镜像命令容器命令操作命令... Docker...

  • Docker命令及实战

    常用Docker命令 docker容器信息 镜像操作 镜像搜索 镜像下载 删除镜像 容器操作 提示:对于容器的操作...

  • docker基本操作

    # docker基本操作 ## 镜像操作 ### 获取镜像 从Docker Hub搜索镜像: docker s...

  • Docker

    Docker学习目标 Docker概述 Docker安装 Docker命令镜像命令容器命令操作命令... Dock...

  • docker命令图谱

    基本命令 仓库相关操作 docker pull #从远程仓库拉取镜像到本地 docker push #推送...

  • Docker常用命令

    安装docker后,可以使用命令行: 基本命令 仓库相关操作 docker pull #从远程仓库拉取镜像...

  • Docker基本命令入门

    本文介绍Docker基本的操作命令,包括对镜像容器的获取,查看,保存,启停等操作。 1. 检查docker的版本:...

网友评论

      本文标题:docker镜像的基本操作命令

      本文链接:https://www.haomeiwen.com/subject/kzimuxtx.html