1、获取镜像

docker pull NAME[:TAG] 如果不显式地指定TAG,则默认会选择latest标签,即下载仓库中最新版本的镜像。
//获取最新镜像
docker pull ubuntu 
//获取指定标签镜像
docker pull ubuntu:14.04
//获取指定仓库镜像
docker pull registry.hub.docker.com/ubuntu:latest
docker pull dl.dockerpool.com:5000/ubuntu

2、查看镜像

//查看本地镜像
docker images
//重命名本地镜像
docker tag ubuntu:latest ubuntu:16.04
//获取镜像详细信息,JSON格式
docker inspect 0ef2e08ed3fa
//获取镜像详细信息中某一项信息
docker inspect -f {{".Architecture"}} 0ef2e08ed3fa
docker inspect -f {{".RepoTags"}} 0ef2

3、搜索镜像

//搜索指定名称镜像
docker search centos
docker search perconal*
//限制搜索结果数量,默认25行
docker search centos --limit 3
//是否截断描述部分输出,默认截断
docker search centos --no-trunc
docker search centos --no-trunc=false
//搜索指定星级以上镜像
docker search mysql -f stars=10

4、删除镜像

docker rmi IMAGE [IMAGE...] 其中IMAGE可以为镜像标签或者ID

#当同一个镜像拥有多个标签时,docker rmi命令只是删除了该镜像多个标签中的指定标签,并不影响镜像文件本身,但当镜像只剩下一个标签时,此时就会彻底删除镜像。
#当docker rmi命令后面跟的是镜像ID时,会尝试删除所有指向该镜像的标签,然后删除镜像文件本身,如果该镜像存在多个标签,默认无法删除,需要加-f进行删除。
#如果有基于该镜像创建的容器,则默认无法删除镜像,需要先通过docker rm删除容器,然后再用docker rmi删除镜像,或者使用docker rmi -f强制删除(不推荐)。

[root@CentOS702 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 98d35105a391 12 days ago 192 MB
ubuntu latest 0ef2e08ed3fa 4 weeks ago 130 MB
ubuntu 14.04 7c09e61e9035 4 weeks ago 188 MB
hello-world latest 48b5124b2768 2 months ago 1.84 kB
helloworld latest 48b5124b2768 2 months ago 1.84 kB
[root@CentOS702 ~]# docker rmi 48b5124b2768
Error response from daemon: conflict: unable to delete 48b5124b2768 (must be forced) - image is referenced in multiple repositories
[root@CentOS702 ~]# docker rmi -f 48b5124b2768
Untagged: hello-world:latest
Untagged: hello-world@sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Untagged: helloworld:latest
Deleted: sha256:48b5124b2768d2b917edcb640435044a97967015485e812545546cbed5cf0233
Deleted: sha256:98c944e98de8d35097100ff70a31083ec57704be0991a92c51700465e4544d08
[root@CentOS702 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 98d35105a391 12 days ago 192 MB
ubuntu latest 0ef2e08ed3fa 4 weeks ago 130 MB
ubuntu 14.04 7c09e61e9035 4 weeks ago 188 MB
[root@CentOS702 ~]# docker rmi ubuntu:14.04
Error response from daemon: conflict: unable to remove repository reference "ubuntu:14.04" (must force) - container c7d73bda72fc is using its referenced image 7c09e61e9035
[root@CentOS702 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
00a42ce9d621 centos "cat /etc/redhat-r..." 10 minutes ago Exited (0) 10 minutes ago trusting_wescoff
c7d73bda72fc ubuntu:14.04 "cat /etc/issue" 2 hours ago Exited (0) 2 hours ago admiring_davinci
0a277f4e0f09 ubuntu "/bin/bash" 2 hours ago Exited (0) 2 hours ago tender_galileo
[root@CentOS702 ~]# docker rm c7d73bda72fc
c7d73bda72fc
[root@CentOS702 ~]# docker rmi ubuntu:14.04
Untagged: ubuntu:14.04
Untagged: ubuntu@sha256:62a5dce5ceccd7f1cb2672a571ebee52cad1f08eec9b57fe4965fb0968a9602e
Deleted: sha256:7c09e61e90350e8f5c0cba2979003bdfe32c2d027b68b4f0cf9063cdd7b4bafd
Deleted: sha256:304aecb5e13929f85d3ce2e9d83d0212866c8e55a460c94cf24bd75da1c7c153
Deleted: sha256:f302be18d46a45c0edbbd9b4bc02db764a4b0b8cd9bd0490f33dfaff039a3b62
Deleted: sha256:c523f3173f6028e5329fd401331c375f7b9b9e831d915fafaf358f55e36e3747
Deleted: sha256:94e631422130dc414878fd05efe3d59de44c9d8904696a7c299a83f378a92845
Deleted: sha256:c29b5eadf94a90a2abda13e765d4fad4825fd15621dea1d9a98b60b89b835c2a
[root@CentOS702 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 98d35105a391 12 days ago 192 MB
ubuntu latest 0ef2e08ed3fa 4 weeks ago 130 MB
[root@CentOS702 ~]# docker tag ubuntu:latest ubuntu:16.04
[root@CentOS702 ~]# docker tag ubuntu:latest ubuntu:16
[root@CentOS702 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              16                  0ef2e08ed3fa        4 weeks ago         130 MB
ubuntu              16.04               0ef2e08ed3fa        4 weeks ago         130 MB
ubuntu              latest              0ef2e08ed3fa        4 weeks ago         130 MB
[root@CentOS702 ~]# docker rmi ubuntu:16 ubuntu:16.04
Untagged: ubuntu:16
Untagged: ubuntu:16.04
[root@CentOS702 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              98d35105a391        12 days ago         192 MB
ubuntu              latest              0ef2e08ed3fa        4 weeks ago         130 MB

5、创建镜像

创建镜像的方式有:基于已有镜像的容器创建、基于本地模版导入、基于Dockerfile创建

5.1、基于已有镜像的容器创建:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

主要选项:
  -a, --author=" "    //作者信息
  -m, --message=" "   //提交信息
  -p, --pause             //提交时暂停容器运行(默认)

[root@CentOS702 ~]# docker run -ti ubuntu /bin/bash
root@29acd66b0898:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@29acd66b0898:/# touch test
root@29acd66b0898:/# exit
exit
[root@CentOS702 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
29acd66b0898 ubuntu "/bin/bash" 53 seconds ago Exited (0) 35 seconds ago musing_bardeen
[root@CentOS702 ~]# docker commit -m "Add a new file" -a "james" 29acd66b0898 test
sha256:545d60ae0415b0fb11591b37644e05f05afc535afd573891017b47cffdd769b0
[root@CentOS702 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest 545d60ae0415 12 seconds ago 130 MB
ubuntu latest 0ef2e08ed3fa 4 weeks ago 130 MB

5.2、基于本地模版导入

推荐使用OpenVZ提供的模版来创建,下载地址:https://openvz.org/Download/template/precreated

待补充!!!

6、导出和导入镜像

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

[root@CentOS702 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 0ef2e08ed3fa 4 weeks ago 130 MB
[root@CentOS702 ~]# docker save -o /data/ubuntu_16.04.tar ubuntu:latest
[root@CentOS702 ~]# du -sh /data/ubuntu_16.04.tar
130M /data/ubuntu_16.04.tar
[root@CentOS702 ~]# docker rmi ubuntu:latest
Untagged: ubuntu:latest
Deleted: sha256:0ef2e08ed3fabfc44002ccb846c4f2416a2135affc3ce39538834059606f32dd
Deleted: sha256:0d58a35162057295d273c5fb8b7e26124a31588cdadad125f4bce63b638dddb5
Deleted: sha256:cb7f997e049c07cdd872b8354052c808499937645f6164912c4126015df036cc
Deleted: sha256:fcb4581c4f016b2e9761f8f69239433e1e123d6f5234ca9c30c33eba698487cc
Deleted: sha256:b53cd3273b78f7f9e7059231fe0a7ed52e0f8e3657363eb015c61b2a6942af87
Deleted: sha256:745f5be9952c1a22dd4225ed6c8d7b760fe0d3583efd52f91992463b53f7aea3
[root@CentOS702 ~]# docker load -q -i /data/ubuntu_16.04.tar
Loaded image: ubuntu:latest
[root@CentOS702 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 0ef2e08ed3fa 4 weeks ago 130 MB
[root@CentOS702 ~]# docker rmi ubuntu:latest
Untagged: ubuntu:latest
Deleted: sha256:0ef2e08ed3fabfc44002ccb846c4f2416a2135affc3ce39538834059606f32dd
Deleted: sha256:0d58a35162057295d273c5fb8b7e26124a31588cdadad125f4bce63b638dddb5
Deleted: sha256:cb7f997e049c07cdd872b8354052c808499937645f6164912c4126015df036cc
Deleted: sha256:fcb4581c4f016b2e9761f8f69239433e1e123d6f5234ca9c30c33eba698487cc
Deleted: sha256:b53cd3273b78f7f9e7059231fe0a7ed52e0f8e3657363eb015c61b2a6942af87
Deleted: sha256:745f5be9952c1a22dd4225ed6c8d7b760fe0d3583efd52f91992463b53f7aea3
[root@CentOS702 ~]# docker load < /data/ubuntu_16.04.tar
745f5be9952c: Loading layer [==================================================>] 135.7 MB/135.7 MB
85782553e37a: Loading layer [==================================================>] 15.87 kB/15.87 kB
29660d0e5bb2: Loading layer [==================================================>] 11.78 kB/11.78 kB
440e02c3dcde: Loading layer [==================================================>] 4.608 kB/4.608 kB
56827159aa8b: Loading layer [==================================================>] 3.072 kB/3.072 kB
Loaded image: ubuntu:latest

7、上传镜像

docker push NAME[:TAG]

待补充!!!

docker镜像操作的更多相关文章

  1. Docker学习(二)docker镜像操作

    上一篇:docker学习(一)在centos7上安装docker 列出所有docker镜像 docker images 拉取镜像 docker pull 镜像名 我这里一Tomact为例 首先在Doc ...

  2. Docker学习笔记(2)-docker镜像操作

    本节将会涉及Docker的镜像操作. 1. 获取镜像 如何获取Docker Hub上的镜像?可通过docker pull命令获取,其格式为: docker pull [选项] [Docker Regi ...

  3. docker笔记(2)——docker镜像操作

    操作环境:mac OS 10.14.6 docker版本:10.03.1 终端:iterm2 3.3 时间:2019年8月 docker 镜像,是运行容器的模板,通过pull操作会向指定仓库获取镜像, ...

  4. Docker 镜像操作

    列出镜像列表 我们可以使用 docker images 来列出本地主机上的镜像. runoob@runoob:~$ docker images REPOSITORY TAG IMAGE ID CREA ...

  5. Docker镜像与容器的常用操作

    Docker镜像加速配置:Docker镜像常用操作:Dcoker容器常用操作. 镜像加速器 国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器.国内很多云服务商都提供了国内加 ...

  6. Docker的镜像操作

    Docker镜像操作 一.查看镜像 docker images # 查看本地镜像 二.搜索镜像 docker search 镜像名字 docker search centos 三.下载(拉取)镜像 自 ...

  7. Docker学习(三)docker容器操作

    上一篇:Docker学习(二)docker镜像操作 容器是基于镜像创建的,说白了把一个镜像运行起来就是容器 查看容器 docker ps 上面什么也没有,因为我们没有正在运行的容器,下面我门启动一个容 ...

  8. Docker:镜像操作和容器操作

    镜像操作 列出镜像: $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello-world latest 0a6b ...

  9. 关于 Docker 镜像的操作,看完这篇就够啦 !(下)

    紧接着上篇<关于 Docker 镜像的操作,看完这篇就够啦 !(上)>,奉上下篇 !!! 镜像作为 Docker 三大核心概念中最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌 ...

随机推荐

  1. [转帖] SS, SP, BP 三个寄存器

    SS, SP, BP 三个寄存器 https://blog.csdn.net/vspiders/article/details/55669265 这么看 计算机组成原理 还有 考试的很多题目非常有用啊 ...

  2. linux下编译tex,bib成pdf文件

    参考linux下编译bib.tex生成pdf文件 为了编译出出正确的pdf文件,需要执行4条命令完成整个编译过程. 编译命令及输出 $ pdflatex bb.tex #目录下会生成bb.aux.bb ...

  3. Java 线程的创建和启动

    Java 使用 Thread 类代表线程,所有的线程对象都必须是 Thread 类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的代码). Java 使用线程执 ...

  4. com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class cn.edu.

    详细信息   https://www.cnblogs.com/xuwenjin/p/8832522.html 解决办法: 在实体类上面加上注解 @JsonIgnoreProperties(value ...

  5. CART算法与剪枝原理

    参考:https://blog.csdn.net/u014688145/article/details/53326910 知乎:https://www.zhihu.com/question/22697 ...

  6. Java并发编程之ThreadGroup

    ThreadGroup是Java提供的一种对线程进行分组管理的手段,可以对所有线程以组为单位进行操作,如设置优先级.守护线程等. 线程组也有父子的概念,如下图: 线程组的创建 public class ...

  7. 莫烦scikit-learn学习自修第四天【内置训练数据集】

    1. 代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ from sklearn import datasets from sklearn.linea ...

  8. Delphi窗体之间互相调用的简单问题

    问题是这样的,我的程序主窗口Form1上面有一个数据连接(ADOCONNECTION1)和ADOQUERY,然后还有一些数据感知组件用于浏览用的,我打算点击From1中的一个“修改数据”按钮,就弹出F ...

  9. Eclipse:报错Failed to read artifact descriptor for org.springframework.boot:spring-boot-autoconfigure:jar:2.1.2.

    导入SVN下载的MAVEN项目时springboot报错: pom.xml文件报错 Failed to read artifact descriptor for org.springframework ...

  10. maven(win10)配置完环境变量后无法识别mvn -v命令

    第一步:http://maven.apache.org/download.cgi官网下载 第二步:把压缩包解压缩到不含中文和空格的目录下 第三步:新建MAVEN_HOME环境变量,值为maven解压缩 ...