容器

它是镜像的一个运行实例,带有额外的可写文件层
1、创建容器
docker create -it ubuntu:latest
2、新建并启动容器
docker run 等价于docker create+docker start
例一:新建一个实例,输出‘hello world’ ,之后容器自动终止
dockr run ubuntu /bin/echo  'hello world'
命令执行流程:
检查本地是否存在指定的镜像,不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
从宿主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个IP地址给容器
执行用户指定的应用程序
执行完毕后容器被终止
例二:启动一个bash终端,允许用户进行交互
docker run -it ubuntu /bin/bash
-i:让容器的标准输入保持打开
-t:分配一个伪终端并绑定到容器的标准输入上
exit或ctrl + d 退出容器
3:查看容器
docker ps -a
4:开启容器
docker start [OPTIONS] CONTAINER
注:这里的容器可以是ID的前几位
5:进入容器
docker attach [OPTIONS] CONTAINER
自1.3版本起,提供了一个更加方便的工具exec,可以直接在容器内运行命令。
例如进入刚刚创建的容器中,并启动一个bash
docker exec -it  CONTAINER /bin/bash
6:终止容器
docker stop [-t|--time[=10]]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
7:删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS:
-f/--force=false 强行终止并删除一个运行中的容器。
-l/--link=false  删除容器的连接,但保留容器。
-v/--volumes=false 删除容器挂载的数据卷
8:导出导入和容器
导出容器
    是指导出一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态,可以使用docker export
docker export [OPTIONS] CONTAINER
示例:
docker export CONTAINER-ID > test_for_run.tar
导入容器
docker import [OPTIONS] URL|- [REPOSITORY[:TAG]]
示例
cat test_for_run.tar | docker import - test/ubuntu:v1.0
终止过程:它首先会向容器发送SIGTERM(终止信号),等待一段时间后(默认为10s)再发送SIGKILL信号终止容器