容器是Docker的核心概念,容器是镜像运行的实例。不同的是,镜像是静态的只读文件,而容器有运行时需要的可写文件层。
容器常用命令管理
docker run 创建并启动一个容器,在run后面加上-d参数,则会创建一个守护式容器在后台运行。 docker ps -a 查看已经创建的容器 docker ps -s 查看已经启动的容器 docker start con_name 启动容器名为con_name的容器 docker stop con_name 停止容器名为con_name的容器 docker rm con_name 删除容器名为con_name的容器 docker rename old_name new_name 重命名一个容器 docker attach con_name 将终端附着到正在运行的容器名为con_name的容器的终端上面去,前提是创建该容器时指定了相应的sh 执行这个命令后,按下回车键,会进入容器的命令行Shell中。 docker logs con_name 获取容器名为con_name的容器日志 docker inspect 查看容器的详细信息 docker top con_name 查看容器名为con_name的容器内部的进程 docker exec 可以用来在容器中运行一个进程
docker ps -qa 查看所有容器的ID
1. 新建容器
docker create -it xxx
使用docker create 创建的容器处于停止状态,使用docker start 启动。
2. 启动容器
docker start xxx
3. 新建并启动容器
docker run python /bin/echo 'Hello World'
使用docker run 来创建并且启动容器的时候,Docker会在后台执行一下操作:
- 检查本地是否存在指定的容器,如果没有就从公有仓库下载。
- 利用镜像创建一个容器,并启动该容器。
- 分配一个文件系统给容器,并在只读的镜像层外面挂载一层可读写层。
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中。
- 从网桥的地址配置一个IP地址给容器。
- 执行用户指定的应用程序。
- 执行完毕后容器被自动终止。
4. 守护态运行
很多时候,需要让docker容器在后台以守护态的方式运行,可以使用-d 参数来实现。
docker run -d xxx
5.终止/重启容器:
可以使用docker stop 来中断一个在运行的容器
docker stop [-t|--time[=10]]
docker kill 会强行终止容器
docker restart xxx
6. 删除容器;
使用docker rm来删除处于终止或者退出状态的容器。
-f :是否强行终止并且删除一个运行中的容器
-l :删除容器的连接,但保留容器
-v :删除容器挂载的数据卷
默认情况下,只能删除处于终止或者退出状态的容器,并不能删除处于运行状态的容器
7.导入和到处容器
有些时候,需要将容器从一个系统迁移到另一个系统,可以使用docker的导入和导出功能。
导出容器:
导出容器 ,指导出一个已经创建的容器到另一个文件,不管此时这个容器是否处于运行状态,可以使用docker export命令。
-o参数来指定导出的tar文件名,也可以通过重定向来实现。
先查看所有的容器 docker ps -a
导出 docker export -o file_name 容器ID
导入容器:
导入容器,使用docker import 来导入容器
-c 参数在导入的同时执行对容器进行修改的dockerfile