摘要:当运行这条命令的时候,实际上是从上来请求标记为的,当然由于众所周知的原因,的速度会很慢。运行下边这条命令,我们就可以清理下了。欢迎订阅我的公众号,第一时间获取图表君的新文章。
上篇文章我们介绍了docker的历史由来带来的一些好处,从这篇文章开始,我们开始正式的进入Docker的世界,首先给大家介绍一下Docker一些基本概念。
Docker的基本概念Docker的基本概念并不是很多,就是三个:
镜像(image)
容器(Container)
仓库(Repository)
深入理解这三个概念,对于docker的理解会有很大的帮助。
什么是image呢,简单来说image就是一个镜像,一个系统的snapshot,可以类比于一个vm的image,或者如果你用过AWS,类似于一个AMI文件。
什么是Container,Container是简易版的Linux环境,可以类比的与一个Virtual Machine 或者 一个EC2的instance。
那个image和Container什么关系呢?一个docker Container 需要加载一个image然后执行。image是run在Container里的。
什么是repository呢?repository是一个image仓库,可以将打好的Docker image push这个仓库中与他人分享。
相信上篇文章后大家已经把docker安装好了吧。下边我们就来一步步的介绍这个三个概念。
运行docker pull命令可以从仓库中获取镜像。
docker pull ubuntu:16.04
当运行这条命令的时候,实际上是从docker hub 上来请求标记为16.04 的Ubuntu image,当然由于众所周知的原因,pull的速度会很慢。所以我们可以选择从国内的一些repository来pull images。例如这样:
docker pull daocloud.io/ubuntu:14.04
如何看到我们本地已经pull下来的images呢?使用docker images可以列出本地已有的镜像。
REPOSITORY TAG IMAGE ID CREATED SIZE python 3.5-alpine 4f778158195b 5 days ago 87.58 MB python 3.5.2-alpine 4f778158195b 5 days ago 87.58 MB python 2.7-alpine 8b2171e895fd 3 weeks ago 71.97 MB
我们可以看到他是来自哪个仓库的,image的标价,全局唯一的ID,创建的时间 和镜像的大小。同样如果我们想查看哪个仓库的images 可以这样:
docker images ubuntu
images下载好了,我们怎么运行这个image呢?easy
docker run -t -i ubuntu /bin/bash root@fc8e5743f790:/#
这样我们就使用这个image创建了一个Container 并运行bash应用。ps.上边的 -t 让docker分配一个伪终端并绑定到容器的标准输入上,-i 让容器的标准输入保持打开。
下边的一个问题是如何创建一个image呢,有两种方法,一种是我们基于现有的image,例如这样:
docker run -i -t ubuntu /bin/bash root@c5c7fa33b061:/# apt-get update && apt-get install -y curl ...
我们创建了一个docker container 并在其中装上curl,这是注意我们得记下他的ID。
docker commit c5c7fa33b061 ubuntu-have-curl docker history ubuntu-have-curl
我们使用了docke commit 生成了一个new image ‘Ubuntu-have-curl’,并用docker history看看这个image的历史。
下来我们用这个image来curl一下。
docker run ubuntu-have-curl curl https://www.baidu.com % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2443 100 2443 0 0 12234 0 --:--:-- --:--:-- --:--:-- 12215
easy? Yes.这样我们就build一个带curl的Ubuntu image,你可以把他push 到 docker hub上,让更多人使用了。
使用docker commit 可以对于一个镜像做些简单的扩展,但不方便分享和他人的利用。另外一种方式是使用dockerfile,这是更加通用的方法,这里暂不详解,后边会专门的介绍dockerfile。
我们看了pull,build,run一个image,下来看看如何删除吧。命令很简单 docker rmi
docker rmi ubuntu:14.04
当我们使用了一段时间以后,我们运行docker images会发现有很多没有tag的images,大量占据着磁盘空间,那么势必就要清理下了。
运行下边这条命令,我们就可以清理下了。
$ sudo docker rmi $(docker images -q -f "dangling=true")
欢迎订阅我的公众号,第一时间获取图表君的新文章。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26733.html
摘要:图表君聊开篇今天是图表君聊的第一篇,为什么会有这个系列呢容器技术出现已经有一段时间了,之前零零星星的也看过一些文章,图表君的项目上也在使用。至于,图表君没试过,官网有的教程,大家可以参考。上的官网,安装,然后跟着图表君一起学习吧。 图表君聊Docker-开篇 今天是图表君聊Docker的第一篇,为什么会有这个系列呢?容器技术Docker出现已经有一段时间了,之前零零星星的也看过一些文章...
摘要:图表君聊仓库今天我们来继续聊,上篇文章我们介绍了里的今天来继续三大概念中的最后一个仓库。这个仓库可以是一个私有的仓库,供一个内部使用。目前官方维护一个公共仓库里边有大量的,可以满足我们的大部分需求。原创文章,欢迎转发,但请标明出处。 图表君聊docker-仓库 今天我们来继续聊docker,上篇文章我们介绍了docker里的Container.今天来继续三大概念中的最后一个--仓库(R...
摘要:图表君聊前边几篇文章给大家介绍了的三大基本概念。维护者的信息是图表君当前目录到容器中的目录下指定工作路径为安装依赖暴露端口启动创建镜像编写好后,就可以使用来了。欢迎订阅我的公众号,第一时间获取图表君的新文章。 图表君聊docker-Dockerfile 前边几篇文章给大家介绍了docker的三大基本概念。可能大家觉得概念的东西比较生涩,有没有更多实战的例子呢?好了,从这篇文章开始,我会...
摘要:利用镜像创建并启动一个容器分配一个文件系统,并在只读的镜像层外层挂接一个写读写层。容器的启动过程,对于理解容器至关重要,需要深入的理解。同时,对于终止状态的容器,我们可以采用来启动。欢迎订阅我的公众号,第一时间获取图表君的新文章。 上篇文章我们介绍了Docker三大概念中的Image,这篇我们来介绍Container,上篇文章中我们了解到了Image是运行在Container中的,实际...
摘要:它有什么图表加粗文字如何使用这个图表库可以通过存储库下载或通过包管理器安装。数据可以直接从文件加载到图表中。它有什么图表如何使用该库可在包管理器和他们自己的内容传送网络中使用。该库专为风格的数据可视化而设计,提供一系列高度可配置的图表。 现在有很多图表库,但哪一个最好用?这可能取决于许多因素,如业务需求,数据类型,图表本身的目的等等。在本文中,每个JavaScript图表库将与一些关键...
阅读 2217·2021-09-07 09:58
阅读 3393·2019-08-30 14:07
阅读 1307·2019-08-29 12:32
阅读 669·2019-08-29 11:06
阅读 3694·2019-08-26 18:18
阅读 3732·2019-08-26 17:35
阅读 1382·2019-08-26 11:35
阅读 612·2019-08-26 11:35