容器是Docker的一大核心概念,容器是独立运行的一个或一组应用,以及它们的运行态环境
启动容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止 状态(stopped)的容器重新启动。
docker非常的轻量级,可以随时删除和创建新容器
新建和启动
命令主要为
docker run
当利用 docker run
来创建容器时,Docker 在后台运行的标准操作包括:
检查本地是否存在指定的镜像,不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个 ip 地址给容器 执行用户指定的应用程序
执行完毕后容器被终止
更多的时候,需要让 Docker在后台运行而不是直接把执行命令的结果输出在当前 宿主机下。此时,可以通过添加 -d 参数来实现。
sudo docker run -d hello-world
启动已终止容器
可以利用 docker start
命令,直接将一个已经终止的容器启动运行。
终止状态的容器可以用 docker ps -a
命令看到。
docker restart
命令会将一个运行态的容器终止,然后再重新启动它。
终止容器
可以使用 docker stop
来终止一个运行中的容器。 当Docker容器中指定的应用终结时,容器也自动终止。
导出和导入容器
导出容器
如果要导出本地某个容器,可以使用 docker export
命令。
导入容器快照
可以使用 docker import
从容器快照文件中再导入为镜像,可以通过指定 URL 或者某个目录来导入
删除容器
可以使用 docker rm
来删除一个处于终止状态的容器。如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送 SIGKILL 信号给容器。
清理所有处于终止状态的容器
用 docker ps -a
命令可以查看所有已经创建的包括终止状态的容器,如果数量 太多要一个个删除可能会很麻烦,用 docker rm $(docker ps -a -q)
可以全 部清理掉。这个命令其实会试图删除所有的包括还在运行中的容器,不过就像上面提过 的 docker rm
默认并不会删除运行中的容器。