Docker 是一个开源的容器化平台,它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中,从而实现“构建一次,处处运行”,通过命令行工具,用户可以高效地管理容器的生命周期,包括创建、运行、停止、删除等操作,以下是 Docker 容器命令行的详细使用指南,涵盖核心命令及实用技巧。

Docker 容器的基本命令
-
运行容器
docker run是最常用的命令,用于基于镜像创建并启动容器。docker run -d -p 8080:80 --name myapp nginx
参数说明:
-d:后台运行容器-p 8080:80:将容器的 80 端口映射到主机的 8080 端口--name myapp:为容器指定名称nginx:使用的镜像名称
-
查看容器列表
docker ps用于查看正在运行的容器,docker ps -a可查看所有容器(包括已停止的)。 -
停止与启动容器
(图片来源网络,侵删)- 停止容器:
docker stop <容器名或ID> - 启动容器:
docker start <容器名或ID>
- 停止容器:
-
进入容器
docker exec -it <容器名或ID> /bin/bash可在容器内启动交互式终端。docker exec -it myapp /bin/bash
-
删除容器
docker rm <容器名或ID>删除已停止的容器,docker rm -f <容器名或ID>强制删除运行中的容器。
容器的数据管理
容器默认存储为临时存储,数据会随容器删除而丢失,通过数据卷(Volume)或绑定挂载(Bind Mount)可实现数据持久化。
-
数据卷操作
(图片来源网络,侵删)- 创建数据卷:
docker volume create myvol - 挂载数据卷:
docker run -d -v myvol:/data nginx
- 创建数据卷:
-
绑定挂载
将主机目录挂载到容器内:docker run -d -v /host/path:/container/path nginx
容器的网络配置
Docker 提供了多种网络模式,常用包括:
- bridge:默认模式,容器通过虚拟网桥通信。
- host:容器共享主机网络,性能更高但安全性较低。
- none:容器无网络配置。
示例:
docker run -d --network host nginx
容器的资源限制
为避免容器占用过多主机资源,可通过参数限制 CPU 和内存:
docker run -d --cpus="1.5" --memory="512m" nginx
容器的日志与调试
- 查看日志:
docker logs <容器名或ID>- 跟踪实时日志:
docker logs -f <容器名或ID>
- 跟踪实时日志:
- 查看容器资源使用情况:
docker stats
常见命令速查表
| 命令 | 功能 | 示例 |
|---|---|---|
docker run |
创建并运行容器 | docker run -d -p 80:80 nginx |
docker ps |
查看运行中的容器 | docker ps -a |
docker exec |
在容器内执行命令 | docker exec -it myapp ls / |
docker rm |
删除容器 | docker rm myapp |
docker logs |
查看容器日志 | docker logs -f myapp |
相关问答FAQs
Q1: 如何查看容器内部的文件系统?
A1: 可通过 docker exec -it <容器名或ID> /bin/bash 进入容器后,使用 ls、cd 等命令浏览文件系统,也可结合 docker cp 命令在主机和容器间复制文件,docker cp myapp:/container/path /host/path。
Q2: 容器退出后如何自动删除?
A2: 使用 --rm 参数,docker run --rm -d nginx,容器停止后会自动删除,适用于临时测试场景。
