码迷,mamicode.com
首页 > 其他好文 > 详细

docker 五 简单使用容器

时间:2015-04-27 15:32:39      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:docker容器

简单地说,容器是镜像的一个运行实例,所不同的是,它有额外的可写文件层。

如果认为虚拟机是模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。那么docker 容器就是地理运行的一个或一组应用,以及它们的必需运行环境。

1.1 创建docker 容器 

新建容器 可以使用 docker create 命令新建一个容器,例如:

[root@node1 ~]# docker create -it centos:centos6 /bin/bash

 *其中 -t 表示 进入终端 -i 表示容器的标准输入保持打开。

 技术分享

使用 docker create 命令新建的容器处于停止的状态,可以使用docker start 命令来启动它

Docker start ID

技术分享 

新建并启动容器

启动容器有二种方式,一种基于镜像新建一个容器并启动,另外一个是将在终止的状态的容器重新启动。所需要的命令主要为 docker run,等价于先执行 docker create命令 在执行 docker restart 命令

docker run -t -i centos:centos6 /bin/bash

技术分享 

当利用docker run 来创建并启动容器时,docker 在后台运行的标准操作包括:

1.检查本地是否存在指定的镜像,不存在就从公有仓库下载。

2.利用镜像创建并启动一个容器。

3.分配一个文件系统,并在只读的镜像层外面挂载一层可读写层

4.从宿主机配置的网桥中接口中桥接一个虚拟接口到容器中去。

5.从地址池配置一个ip地址给容器。

6.执行用户知道的应用程序。

7.执行完毕后容器被终止。

 技术分享

用 exit 或者ctrl+d 则退出容器 如果容器退出 则关闭容器,可以使用 docker start 重启里面的服务 不会开启。

守护状态运行

更多的时候,需要让docker容器在后台以守护态形式运行。用户可以通过添加-d参数来添加

[root@node1 ~]# docker run -d centos:centos6 /bin/bash  -c "while true;do echo hello world;sleep 1; done"

 

技术分享 

要获取容器的输出信息,可以通过docker logs 命令

docker logs  容器id

终止容器

可以使用 docker stop 来终止一个运行中的容器,

[root@node1 ~]# docker stop d130a7e46842 


技术分享 

处于终止状态的容器,可以通过docker start 命令来重新启动;

[root@node1 ~]# docker start d130a7e46842

技术分享 

还可以使用 docker restart 命令将一个运行态的容器终止,然后在重新启动它

[root@node1 ~]# docker restart d130a7e46842

 技术分享

进入容器

Docker 1.3版本起,提供了一个更加方便的工具exec,可以直接在容器内运行命令。

docker exec -ti d130a7e46842 /bin/bash

 技术分享

exit 后 不关闭容器 而是在后台继续运行

 

删除容器

可以使用docker rm命令删除处于终止状态的容器,命令格式为 docker rm ,支持的选项包括

-f 强行终止并删除一个运行中的容器。

-l了删除容器的连接,但保留容器。

-v 删除容器挂载的数据卷、

[root@node1 ~]# docker rm d130a7e46842

 

技术分享 

如果要删除一个运行中的容器,可以添加-f参数

[root@node1 ~]# docker rm -f e41acf350912

 技术分享

导入和导出容器 (重点)

导出容器是指导出一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态,可以使用docker export命令

[root@node1 docker]# docker export cec2eea2f8b6 > test1.tar 

docker export (容器的id) 文件.tar

可以讲这些文件传输到其他机器上,在其他机器上通过导入命令实现容器的迁移。

导入容器

导出的文件可以使用 docker import 命令导入,成为镜像

[root@node1 docker]# cat test1.tar | docker import - test/centos:v1

                             Docker import -(空格) 名字

[root@node1 docker]# docker images

 

 技术分享

 


docker 五 简单使用容器

标签:docker容器

原文地址:http://3927416.blog.51cto.com/3917416/1639020

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!