docker将镜像文件运行起来后,产生的对象就是容器,就是一个镜像运行起来的实例
linux系统中一般容器的存放位置都在 /var/lib/docker/containers/
查看容器
显示正在运行的容器: docker ps
显示所有正在运行的容器 docker ps -a
显示字段含义
- container id : 容器ID
- mage :基于的镜像
- command : 在这个镜像上运行的命令
- created:创建时间
- status:状态
- ports : 端口号
- names:容器名称
创建容器
docker create 【参数】 【基于的镜像名称】 【容器内命令】 【命令参数】
参数:
-
-t --tty 分配虚拟终端
-
-i --interactive 保持STDIN(标准输入)打开
-
--name 容器名称,不指定的话就随机指定
容器内命令:
- pwd,ps,ls 等
命令参数:
- 如ps的ef,lsof的i参数
启动容器
docker start 【容器ID】
参数:
- -a 将当前shell的标准输出打印出来
创建容器,并且启动 :run
docker run 【参数】【基于的镜像名称】 【容器内命令】 【命令参数】
参数:
-
-t --tty 分配虚拟终端-i
-
--interactive 保持STDIN(标准输入)打开
-
--name 容器名称,不指定的话就随机指定
-
-d 在后台运行容器,并打印容器ID
-
--rm 当容器停止运行时,删除容器
容器内命令:
- pwd,ps,ls 等
命令参数:
- 如ps的ef,lsof的i参数
容器暂停/取消暂停:pause
- 暂停:docker pause 【容器ID】
- 取消暂停:docker unpause 【容器ID】
容器重启:restart
- docker restart 【参数】 【容器ID】【容器ID】
参数:
- -t 多少秒后重启,单位:秒,默认10秒
docker restart -t 5 【容器ID】
容器关闭/立即终止:stop/kill
关闭 docker stop 【容器ID】 建议使用,正常关闭
强制关闭 docker kill 【容器ID】
容器的删除:rm
正常删除:docker rm 【容器ID】
注意:需要先停止容器,然后在删除
强制删除:docker rm -f 【容器ID】
注意:不需要停止容器,直接删除,有风险,不建议使用
容器的进入/退出
进入容器:
- 创建容器,并且进入:
不能使用-d 参数,不然是后台运行的
命令行是基于bash的,所以只需要创建后执行bash命令就行
比如 docker run -i -t --name test_name --rm ubuntu /bin/bash - 进入指定的容器:
docker exec -i -t 容器ID /bin/bash
退出容器:
exit 或者 ctrl+d
基于容器创建镜像
将已经配置好的容器导出为镜像,方便下次使用
- 导出为镜像:docker commit -m "信息描述" -a "作者" 【容器ID】 【镜像名称】:【镜像版本】
- 导出方式二:
先导出:docker export 【容器ID】> xxx.tar.gz
再导入为镜像:cat xxx.tar.gz | docker import -【镜像名称】
注意:load 不能指定名称,import可以