Docker 容器总结
·
Docker 容器总结
一、Docker 容器概述
容器是一个正在运行的进程,具有额外的封装功能,使其与主机和其他容器隔离。
核心特性:
- 每个容器都有自己专用的文件系统
- 文件系统由 Docker 镜像提供
- 包含运行应用程序所需的所有内容
- 支持进程隔离和资源限制
二、容器生命周期管理
1. 创建容器
docker create -it <镜像名>
-i:保持标准输入打开-t:分配伪终端- 创建后容器处于停止状态
2. 启动容器
docker start <容器ID/名称>
3. 创建并启动容器
docker run -it <镜像名> /bin/bash
等价于 create + start
4. 暂停与恢复
# 暂停运行中的容器
docker pause <容器ID/名称>
# 恢复暂停的容器
docker unpause <容器ID/名称>
5. 停止容器
docker stop <容器ID/名称>
6. 清理停止的容器
docker container prune
三、容器交互操作
1. 进入容器的方式
不推荐使用(退出会导致容器停止):
docker attach <容器ID/名称>
推荐使用(退出不会停止容器):
docker exec -it <容器ID/名称> /bin/bash
2. 后台运行容器
docker run -itd --name <容器名> <镜像名> /bin/bash
四、容器删除
基本删除
# 只能删除停止的容器
docker rm <容器ID/名称>
强制删除
# 删除运行中的容器
docker rm -f <容器ID/名称>
五、容器端口映射
1. 随机端口映射
docker run --name <容器名> -itd -P <镜像名>
将容器端口映射到宿主机的随机端口
2. 指定端口映射
docker run --name <容器名> -itd -p <宿主机端口>:<容器端口> <镜像名>
六、容器日志与信息查看
1. 查看容器日志
docker logs <容器名>
2. 查看容器详细信息
docker inspect <容器名>
3. 查看特定信息
docker inspect -f "{{.NetworkSettings.IPAddress}}" <容器名>
七、容器数据管理
1. 文件复制
# 从宿主机复制到容器
docker container cp <本地路径> <容器ID>:<容器路径>
# 从容器复制到宿主机
docker container cp <容器ID>:<容器路径> <本地路径>
2. 查看文件变更
docker container diff <容器ID>
3. 查看端口映射
docker container port <容器ID>
八、容器导入导出
1. 导出容器
docker export -o <文件名>.tar <容器ID>
# 或使用重定向
docker export <容器ID> > <文件名>.tar
2. 导入为镜像
docker import <文件名>.tar <新镜像名>:<标签>
九、实战案例:Nginx 容器部署
1. 基础部署
# 搜索镜像
docker search nginx
# 拉取镜像
docker pull nginx
# 运行容器
docker run --name nginx-test -p 80:80 -itd nginx:latest
2. 高级部署(目录映射)
# 创建目录结构
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
# 复制容器配置文件
docker cp <容器ID>:/etc/nginx/nginx.conf ~/nginx/conf/
# 运行带目录映射的容器
docker run -itd -p 20000:80 --name nginx-test-1 \
-v ~/nginx/www:/usr/share/nginx/html \
-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v ~/nginx/logs:/var/log/nginx \
nginx:latest
十、关键要点总结
- 容器本质:正在运行的进程,具有隔离的文件系统
- 生命周期:create → start → run → pause/unpause → stop
- 交互方式:推荐使用
exec而非attach - 删除限制:只能删除停止的容器,运行中的需要
-f参数 - 端口映射:
-P随机端口,-p指定端口 - 数据持久化:通过目录挂载实现数据持久化
- 容器迁移:使用
export/import实现容器迁移 - 日志管理:使用
logs命令查看容器日志 - 镜像与容器关系:镜像是静态定义,容器是运行时实体
- 最佳实践:删除容器前确保其处于停止状态
十一、常用命令速查
| 操作 | 命令 |
|---|---|
| 创建容器 | docker create -it <镜像> |
| 启动容器 | docker start <容器> |
| 运行容器 | docker run -it <镜像> |
| 进入容器 | docker exec -it <容器> /bin/bash |
| 停止容器 | docker stop <容器> |
| 删除容器 | docker rm <容器> |
| 查看日志 | docker logs <容器> |
| 端口映射 | docker run -p 主机端口:容器端口 |
| 导出容器 | docker export <容器> > file.tar |
| 导入镜像 | docker import file.tar 镜像:标签 |
更多推荐


所有评论(0)