一、搜索镜像

1、下载一个docker镜像:我们可以通过登陆docker网站搜索自己需要的镜像,可以选择自己所需要的版本,然后通过详情也可以看到:
网址:https://hub.docker.com/
2、我们也可以通过命令行搜索:
[root@web130 ~]# docker search centos: #如果不带版本号默认搜到是最新版本的:latest
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. [OK]
ansible/centos7-ansible Ansible on Centos7 [OK]
*我们看输出内容可以很容易的理解,分别是:名称,描述,星(类似github上的stars),是否官方镜像,是否自动装配。
*如下搜索自动创建,以及指定星级的镜像,星级默认为0,如果加--no-trunc输出信息不截断显示,默认是否--no-trunc=true|fales
[root@web130 ~]# docker search --automated -s nginx
Flag --automated has been deprecated, use --filter=is-automated=true instead
Flag --stars has been deprecated, use --filter=stars= instead
NAME DESCRIPTION
.....省略显示 ...

二、查看和获取镜像

、images列出镜像:关于images更多信息可以通过man docker-images来查看
*此内容下显示:来自那个仓库、标签信息、镜像ID、创建时间、镜像大小
[root@web130 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE 、下载一个镜像,如果后边不跟版本号,默认是最新非稳定版本:
[root@web130 ~]# docker pull ubuntu #下载镜像 *也可以通过上边搜索选择合适的版本号,如下:
[root@web130 ~]# docker pull ubuntu:14.04
[root@web130 ~]# docker pull centos:7.4.
[root@web130 ~]# docker images #查看下载的镜像,可以看到刚刚下载的是三个镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
[root@web130 ~]#
*我们也可以跟上仓库地址下在,非官网镜像源仓库下载指定镜像:
[root@web130 ~]# docker pull 仓库地址/ubuntu:14.04 、利用该镜像创建一个容器:
[root@web130 ~]# docker run -it centos:7.4. /bin/bash #后边详细说明参数,如果本地没有下载此镜像,自动先下载镜像并运行
*如下由于没有指定标签,自动下载了最新版本的centos,并打开了一个shell:
[root@web130 ~]# docker run -it centos /bin/bash
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
256b176beaff: Pull complete
Digest: sha256:6f6d986d425aeabdc3a02cb61c02abb2e78e57357e92417d6d58332856024faf
Status: Downloaded newer image for centos:latest
[root@3e876fdaaf89 /]# ls
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@3e876fdaaf89 /]# 、使用tag命令为镜像添加标签
[root@web130 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
centos latest 5182e96772bf weeks ago 200MB
[root@web130 ~]# docker tag centos:latest mycentos:latest #我们可以看到多出来一个镜像,tag的作用类似与添加链接的作用,他们指向同一个源镜像文件、
[root@web130 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
centos latest 5182e96772bf weeks ago 200MB
mycentos latest 5182e96772bf weeks ago 200MB 、使用inspect命令查看详细信息:
[root@web130 ~]# docker inspect mycentos
[root@web130 ~]# 、使用history命令查看镜像历史
[root@web130 ~]# docker history mycentos #镜像使用多层组成,列出各层的创建信息,--no-trunc选项输出完整的命令
IMAGE CREATED CREATED BY SIZE COMMENT
5182e96772bf weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> weeks ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B
<missing> weeks ago /bin/sh -c #(nop) ADD file:6340c690b08865d7e… 200MB
[root@web130 ~]#

三、删除镜像

、通过标签删除镜像
[root@web130 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
centos latest 5182e96772bf weeks ago 200MB
mycentos latest 5182e96772bf weeks ago 200MB
[root@web130 ~]# docker rmi mycentos:latest
Untagged: mycentos:latest
[root@web130 ~]# docker images 删除。
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
centos latest 5182e96772bf weeks ago 200MB
#我们可以看到mycentos标签已经被删除,我们可以看到源镜像centos依然存在,所以删除标签不影响镜像文件,但是仅剩一个标签的时候要小心,会将镜像文件 、通过镜像ID删除镜像 [root@web130 ~]# docker rmi centos:latest
Error response from daemon: conflict: unable to remove repository reference "centos:latest" (must force) - container 3e876fdaaf89 is using its referenced image 5182e96772bf
[root@web130 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3e876fdaaf89 centos "/bin/bash" minutes ago Exited () minutes ago friendly_haibt
[root@web130 ~]#
#显示无法删除,因为有一个基于它的容器存在,我们也可以强制删除 -f:docker rmi -f centos,但是不建议这样删除,所有我们如下操作先删除依赖的容器
[root@web130 ~]# docker rm 3e876fdaaf89 #通过容器id删除镜像
3e876fdaaf89
[root@web130 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@web130 ~]# docker rmi centos:latest #可以看到它删除了这个镜像文件的所有层
Untagged: centos:latest
Untagged: centos@sha256:6f6d986d425aeabdc3a02cb61c02abb2e78e57357e92417d6d58332856024faf
Deleted: sha256:5182e96772bf11f4b912658e265dfe0db8bd314475443b6434ea708784192892
Deleted: sha256:1d31b5806ba40b5f67bde96f18a181668348934a44c9253b420d5f04cfb4e37a
[root@web130 ~]#

四、创建镜像

创建镜像的方法:
*基于已有的镜像容器创建
*基于本地模板导入
*基于Dockerfile创建 (后文重点学习Dockerfile)

、基于已有镜像的容器创建
[root@web130 ~]# docker run -it ubuntu:14.04 /bin/bash
root@5b117c5dffe1:/# touch yanglt
root@5b117c5dffe1:/# exit
exit
[root@web130 ~]# docker images;
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
[root@web130 ~]# docker commit -m "a new file" -a "Yanglt" 5b117c5dffe1 test:0.1
sha256:40925d6bc8025b8ca6ec68249f4cb371844896a39817f9e9bf80eda4119e8d6f
[root@web130 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test 0.1 40925d6bc802 seconds ago 188MB
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
#可以看到一个新的镜像test
、基于本地模板导入创建
下载地址:https://download.openvz.org/template/precreated/
选择要下载镜像模板:
[root@web130 ~]# wget https://download.openvz.org/template/precreated/centos-7-x86_64-minimal.tar.gz
[root@web130 ~]# cat centos--x86_64-minimal.tar.gz |docker import - centos:
[root@web130 ~]# cat centos--x86_64-minimal.tar.gz |docker import - centos:
sha256:3458fe08f84de52d5354a80793e5f806420a2330fc2c2425bb4878bcb8b0efd8
[root@web130 ~]# docker images #可以看到已经出现新的镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 3458fe08f84d seconds ago 435MB
test 0.1 40925d6bc802 About an hour ago 188MB
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
[root@web130 ~]#

五、导出和载入镜像

、导出镜像
-o + 要导出最后的文件名 + 要导出的镜像的标签(名) 或id
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test 0.1 40925d6bc802 minutes ago 188MB
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
[root@localhost ~]#
[root@localhost ~]# docker save -o myubuntu_14..tar ubuntu:14.04
[root@localhost ~]# ll |grep my*
-rw------- root root 9月 : myubuntu_14..tar
[root@localhost ~]# 、导入镜像(恢复原有镜像)
*我们可以将导出的源镜像删除,然后在导入
[root@localhost ~]# docker rmi ubuntu:14.04
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test 0.1 40925d6bc802 minutes ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
[root@localhost ~]# docker load < myubuntu_14..tar
Loaded image: ubuntu:14.04
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test 0.1 40925d6bc802 minutes ago 188MB
ubuntu 14.04 c32fae490809 weeks ago 188MB
ubuntu latest cd6d8154f1e1 weeks ago .1MB
centos 7.4. d3949e34634c weeks ago 197MB
[root@localhost ~]#

六、上传镜像

#我们可以把自己的镜像传到dockerhub官网上,前提是注册一个用户
[root@localhost ~]# docker push image_name

【Docker】第二篇 Docker镜像管理的更多相关文章

  1. docker第二篇 Docker基础用法

    Docker中的容器 lxc -> libcontainer -> runC OCI (Open Container Initiative) 由Linux基金会主导于2015年6月创立 作 ...

  2. Docker笔记6:Docker 常见命令及镜像管理

    目  录 一.Docker 常用命令 docker version 命令 docker info 命令 二.Docker 镜像管理 搜索镜像:docker search 镜像名 获取镜像:docker ...

  3. 一张图比較 Docker 和 Git:镜像管理设计理念

    Docker 的镜像管理设计中大量借鉴了 Git 的理念. 以下这张图将对两者的核心概念和操作进行比較,有助于大家高速掌握管理 Docker 镜像的正确方式. watermark/2/text/aHR ...

  4. [第二篇]——Docker 架构之Spring Cloud直播商城 b2b2c电子商务技术总结

    Docker 架构 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统.比如官方镜像 ubuntu:16.04 就包含了完整的一 ...

  5. Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离

    Docker的安装 一.Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

  6. docker之私有仓库镜像管理

    一.查看本地镜像 二.给镜像打标记(tag ) [root@node03 ~]# docker tag wordpress:v1 192.168.1.197:5000/wordpress:v1 2.删 ...

  7. nginx之旅(第二篇):nginx日志管理、nginx防盗链、nginx虚拟主机

    一.nginx日志管理 Nginx访问日志主要有两个参数控制 1) log_format #用来定义记录日志的格式(可以定义多种日志格式,取不不同名字即可) log_format log_name s ...

  8. Docker入门篇(一)之docker基础

    1.Docker 架构 http://blog.csdn.net/u012562943/article/category/6048991/1Docker 使用客户端-服务器 (C/S) 架构模式,使用 ...

  9. Docker教程:docker远程repository和自建本地registry

    http://blog.csdn.net/pipisorry/article/details/50814307 Docker有一个类似版本管理仓库(Repositry)的东西,有docker.io提供 ...

随机推荐

  1. 「GXOI / GZOI2019」旧词

    题目 确定这不是思博题 看起来很神仙,本来以为是\([LNOI2014]LCA\)的加强版,结果发现一个点的贡献是\(s_i\times (deep_i^k-(deep_i-1)^k)\),\(s_i ...

  2. C# HttpWebRequest请求超时解决办法

    request.GetResponse();超时问题的解决,和HttpWebRequest多线程性能问题,请求超时的错误, 解决办法 1.将http的request的keepAlive设置为false ...

  3. P2008 大朋友的数字

    题目描述 有一批大朋友(年龄15岁以上),他们每人手上拿着一个数字,当然这个数字只有1位,也就是0到9之间.每个大朋友的分数为在他之前的最长不下降子序列中所有数之和.(这个序列必须以它作为结尾!)如有 ...

  4. 记录Windows远程登录日志(转)

    1.建立一个名为RDPlog.bat的批处理文件,内容为: echo @offdate /t >>Z:\IIS\RDPlog.txt time /t >>Z:\IIS\RDPl ...

  5. iPhone将NSString转换编码集为gb2312或者gbk的方法

    很多时候软件读取的中文网页编码集是gb2312,所以显示出来的是乱码.这时需要将NSString文字编码转换.你可以试试以下代码 NSURL *url = [NSURL URLWithString:u ...

  6. CSS 学习路线(一)元素

    元素(element) 类型:替换和非替换元素 替换元素(replaced element): 用来替换元素内容的部分并非由文档内容直接显示. eg:img input 非替换元素(nonreplac ...

  7. Oracle ora-12514监听程序当前无法识别连接描述中请求的错误

    昨天刚安装好oracle数据库,还可以登录,到今天,登录时就发出了这样的错误 到网上找了半天,上面都是说监听器服务的问题,但是试过后依旧不行.最后重启了一次,就解决了异常 原来是oracle中一个服务 ...

  8. ABAP术语-Authorization Profile

    Authorization Profile 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/21/1008992.html Element o ...

  9. Linux --- vim 安装、支持python3的配置、插件自动补全YCM的安装配置及全过程错误总结

    1.git(用来下载vim和相关插件) sudo apt-get install git 2,cmake(用来编译clang-llvm) sudo apt-get install build-esse ...

  10. 纯SVG实现的Loading动画,拿走不谢

    转载自:https://blog.csdn.net/wo_shi_ma_nong/article/details/88833828 话不多说,直接上代码. ( 到这里看效果: http://www.v ...