Docker入门之三容器
上一篇博客学习了下镜像,今天来学习容器。容器类似一个手机中的沙盒环境,用来运行app实例。和镜像一样也是对容器的创建、删除、导出等。
由于我买的参考书中的例子好多都是基于linux的,所以我将docker切换到Linux容器下,然后run了一个ubuntu镜像。
一.新建与启动容器
1.创建容器使用create,还是老方法,通过help来查看。create的options有好多选项,这里只是入门,大致的学一下,不一一细讲。以后有机会了再说,毕竟这是对docker的第一遍学习。
下面我使用create创建容器,镜像是ubuntu.返回容器id。通过ps可以看到一个状态是created的容器,此时的容器并没有启动,启动的话需要使用另外一个命令start。首先看下格式及参数。
此时再通过ps查看容器发现它的状态已经变成up了。
2.使用run新建并启动容器
上面是先使用create创建一个容器然后使用start启动它,其实可以直接使用run来新建并启动容器。当利用docker run来创建并启动容器时,Docker在后台运行的标准操作包括:
1.检查本地是否存在指定的镜像,不存在就从公有仓库下载。
2.利用镜像创建一个容器,并启动。
3.分配一个文件系统给容器,并在只读的镜像层外面挂载一层可读写层。
4.从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中
5.从网桥的地址池配置一个IP地址给容器
6.执行用户指定的应用程序。
7.执行完毕后容器自动终止。
run的help和create的差不多。
二、守护态运行
有时候需要让docker容器在后台以守护态形式运行,可以通过-d来实现。如下图开启一个ubuntu容器启动bin/sh下脚本 执行后面的脚本语句,让它每隔10毫秒输出一个helloworld.然后可以通过logs来查看它的输出,可以看到第一次输出了两个,第二次输出了三个。
三、终止容器
上面的容器一直在后台运行,可以通过ps来查看它的状态
如果想终止它,可以使用stop。下图是stop的格式和参数。
这里将上面的容器终止掉,可以使用ps再次查看下它的状态。可以看到状态已经是退出。
四、进入容器
启动容器之后就是进入容器,对容器进行操作,操作有两个命令。
1.attach命令
还是从help开始,这里先启动ubuntu
下图是使用attach进入容器,先点击了下回车,然后使用echo输出abc.最后使用ctrl p ctrl q退出
2.exec命令
还是看help
使用exec命令进入ubuntu的bin/bash下然后输出cuiyw最后ctrl p ctrl q退出
五、容器的导入导出
镜像有导入导出容器也有导入导出。
1.export导出
还是help,和镜像的类似,也使用-o,这里将ubuntu容器导出到E:\docker\test_ubuntu.tar,完成之后就会在文件夹下看到
2.import导入
还是help,然后将上面导出的再导进来
此时再查看镜像时就会出现cuiyw/ubuntu的镜像
3.load import的区别
load是导入镜像存储文件到本地镜像库,import是导入一个容器快照到本地镜像库。区别是容器快照文件将丢弃所有的历史记录和元数据信息,仅仅保存容器当前的快照状态,镜像文件将保存完整记录,体积更大,容器快照导入时可以重新指定标签等元数据信息。
作者:社会主义接班人
出处:http://www.cnblogs.com/5ishare/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。