docker 五 简单使用容器

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

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

1.1 建立docker 容器 centos

新建容器 能够使用 docker create 命令新建一个容器,例如:bash

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

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

 wKiom1U9rlKCOzdKAAEjsCM1C0A105.jpg

使用 docker create 命令新建的容器处于中止的状态,能够使用docker start 命令来启动它spa

Docker start ID操作系统

wKiom1U9rl7zI9hwAAFoWESkGX4874.jpg 

新建并启动容器3d

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

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

wKioL1U9r82CfsBFAABlxcjsohg392.jpg 

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

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

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

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

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

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

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

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

 wKiom1U9rn3QksflAAHf_pKJr-8826.jpg

用 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"

 

wKiom1U9rpDwLKqhAAI6muUIhiQ177.jpg 

要获取容器的输出信息,能够经过docker logs 命令

docker logs  容器id

终止容器

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

[root@node1 ~]# docker stop d130a7e46842 


wKioL1U9sAfDNz5wAAFK3vtZarE917.jpg 

处于终止状态的容器,能够经过docker start 命令来从新启动;

[root@node1 ~]# docker start d130a7e46842

wKioL1U9sCCin2XVAAEFNTyvlaM956.jpg 

还能够使用 docker restart 命令将一个运行态的容器终止,而后在从新启动它

[root@node1 ~]# docker restart d130a7e46842

 wKiom1U9rtCichTRAAEN46srTWY299.jpg

进入容器

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

docker exec -ti d130a7e46842 /bin/bash

 wKioL1U9sEyCfKfCAAEnlNo6yAc049.jpg

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

 

删除容器

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

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

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

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

[root@node1 ~]# docker rm d130a7e46842

 

wKioL1U9sG2x4LFFAAEdQRuqH5w414.jpg 

若是要删除一个运行中的容器,能够添加-f参数

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

 wKiom1U9rx6BQewQAAFhHz1TLm4313.jpg

导入和导出容器 (重点)

导出容器是指导出一个已经建立的容器到一个文件,无论此时这个容器是否处于运行状态,能够使用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 p_w_picpaths

 

 wKiom1U9rzyyATUHAAFEzWuZO1k037.jpg

相关文章
相关标签/搜索