一、介绍
创建容器比较常见的目录就是:docker run
,这个命令不仅仅可以帮助我们创建一个容器,而且还可以让这个容器处于运行状态。
容器除了运行状态,还会有暂停、停止这两个状态。
容器保护三个状态:
- 运行:进程正常运行
- 暂停:进程暂停,CPU不再运行,并不释放内存
- 停止:进程终止,回收进程占用的内存、CPU等资源
docker pause
可以让容器从运行进入暂停。
docker unpause
可以让容器从暂停恢复运行。
docker stop
可以让容器从运行变成停止。
docker start
可以让容器从停止恢复运行。
停止和暂停差别主要在于操作系统的处理方式。
如果容器进入暂停状态,操作系统会将容器内的进程挂起,容器关联的内存暂存起来,cpu不再执行这个进程。当你把它恢复时,内存空间恢复,容器接着被运行。
停止的话 会直接将进程杀死,容器所占的内存回收,保留下来的仅剩容器的文件系统了,也就是那些静态的东西。因此,一旦停止,你是没办法恢复的,因为进程已经被杀死了,我们能做的,就是使用 docker start
重新生一个,此时它就会创建一个全新的进程。
使用 docker ps
查看容器所有的容器及状态。docker ps
默认只能查看运行中的容器。使用-a参数查看所有容器。
在容器里修改文件是不推荐的:1)不方便 2)在容器里做的修改其实是没有记录的
使用 docker logs
查看容器运行日志。可以看见运行过程中产生的细节。添加 -f 参数可以持续查看日志。
如果不满足从表面观察容器,想要深入内部了解,可以使用 docker exec
进入容器执行命令。使用 exit
退出容器。
使用 docker rm
删除指定容器。它不仅仅是把进程干掉,内存回收,包括硬盘上的文件系统彻底删除。但是在运行中的容器它是不能删除的。查看帮助文档,-f 强制删除运行中的容器。
二、总结
容器操作的命令如图:
其中:
- docker run:创建并运行一个容器,处于运行状态
- docker pause:让一个运行的容器暂停
- docker unpause:让一个容器从暂停状态恢复运行
- docker stop 容器名称:停止一个运行的容器
- docker start:让一个停止的容器再次运行
- docker rm:删除一个容器(-f:强制删除)
- docker ps:查看所有运行的容器及状态(默认只展现运行中的容器,除非加上-a)。-a参数: 查看所有容器,包括已经停止的
- docker logs 容器名:查看容器运行日志
- docker exec:进入容器执行命令