Docker 容器操作全攻略:启动、停止、进入与日志查看

Docker 是一个开源的容器化平台,允许用户打包应用及其依赖到轻量级容器中,实现快速部署和隔离运行。掌握容器的基本操作是高效管理 Docker 环境的关键。本攻略将逐步介绍如何启动、停止、进入容器和查看日志,确保您能轻松上手。所有命令基于 Linux 环境,使用 Bash 语法。


1. 启动容器

启动容器是运行 Docker 应用的第一步。核心命令是 docker run,它创建并启动一个新容器。常用参数包括:

  • -d:后台运行容器(detached 模式)。
  • --name:为容器指定自定义名称(如 my_container)。
  • -p:端口映射,格式为主机端口$:容器端口$(例如 $8080:80$)。
  • -v:卷挂载,将主机目录绑定到容器目录。

示例命令:启动一个 Nginx 容器,命名为 web_server,后台运行,并将主机端口 $8080$ 映射到容器端口 $80$。

docker run -d --name web_server -p 8080:80 nginx

说明

  • 如果镜像(如 nginx)不在本地,Docker 会自动从 Docker Hub 拉取。
  • 使用 docker ps 查看运行中的容器,确认状态为 Up

2. 停止容器

停止容器可释放资源或暂停服务。使用 docker stop 命令优雅停止容器(发送 SIGTERM 信号),或 docker kill 强制停止(发送 SIGKILL 信号)。推荐优先使用 docker stop 以避免数据损坏。

示例命令:停止名为 web_server 的容器。

docker stop web_server

说明

  • 容器停止后,状态变为 Exited(可通过 docker ps -a 查看)。
  • 若要重启已停止的容器,使用 docker start web_server

3. 进入容器

进入运行中的容器可调试或执行命令。使用 docker exec 命令,结合 -it 参数启动交互式终端(如 Bash 或 Sh)。

示例命令:进入 web_server 容器的 Bash shell。

docker exec -it web_server bash

说明

  • -it:确保终端交互式(interactive)和分配 TTY(tty)。
  • 退出容器时,输入 exit 或按 Ctrl + D,不影响容器运行。
  • 如果容器未运行,需先启动它(docker start web_server)。

4. 查看日志

容器日志记录了标准输出(stdout)和错误(stderr),用于监控和故障排查。使用 docker logs 命令查看,支持实时跟踪(-f)或时间戳(-t)。

示例命令:实时查看 web_server 容器的日志。

docker logs -f web_server

说明

  • -f:持续输出新日志(类似 tail -f)。
  • 添加 --tail N 查看最后 N 行日志(例如 --tail 10)。
  • 日志存储在 Docker 守护进程,可通过 docker inspect 查看路径。

总结

通过以上步骤,您可以高效管理 Docker 容器:

  1. 启动:用 docker run 创建并运行容器。
  2. 停止:用 docker stop 安全终止容器。
  3. 进入:用 docker exec -it 进入容器交互环境。
  4. 查看日志:用 docker logs 实时监控输出。

最佳实践

  • 始终为容器命名(--name),便于管理。
  • 使用 docker ps -a 查看所有容器状态。
  • 定期清理停止的容器:docker container prune

掌握这些操作后,您能更自信地部署和维护 Docker 应用。如有问题,可查阅 Docker 官方文档或社区资源!

更多推荐