Docker(9)-测试与调试

    Docker提供给了我们一些用于troubleshooting的命令,以备不时之需。

  • docker ps - 列出正在运行的容器。这个命令应该是我们troubleshooting时首先要运行的命令之一,因为我们认为服务运行不正常时,很可能容器根本就没在运行。。。。
  • docker top - 列出容器中正在运行的进程。e.g.
docker top 8804d509703b
  • docker stats - 查看容器的资源利用率(CPU、内存,硬盘与网络),因为资源利用率的问题有时会导致容器出现一些不可预期的行为。e.g.
docker stats 8804d509703b
  • docker logs - 查看容器的log。有时,查看容器的输出日志可能会很有帮助,并确定发生了什么问题。e.g.
docker logs 8804d509703b
  • docker events - 实时的获取容器的事件。也可以通过--since timestamp的方式获取特定时刻以后的事件。e.g.
docker events --since 1506409720
  • docker diff - 查看容器文件系统的更改。
  • docker exec - 用于连接到一个正在运行的容器并执行命令。e.g.
docker exec 8804d509703b echo "hello"

    我们会在终端里看到"hello",但这是容器的输出。

 

    有时docker registry中的镜像可能会堆积并耗尽我们的磁盘空间,从而影响容器的性能。所以,请及时清理你不再需要的镜像。

 

 

    当你启动一个容器时有可能会遇到命名冲突的错误提示,例如:

      Conflict. The container name "wordpress" is already in use by container ....

    要解决这个问题,你可以运行docker ps -a来查看主机上的所有容器,如果已占用这个名字的容器的状态为Exited,那么我们可以通过docker rm命令来删除它。

 

posted @ 2017-09-26 23:27  Zach7  阅读(246)  评论(0编辑  收藏  举报