docker基本应用和相关指令
文章目录
- 概要
- 镜像管理
- 容器操作
- 网络管理
- 数据卷管理
- 其他常用指令
- 典型场景示例
- 小结
概要
Docker的命令通常分为几个大类,比如镜像管理(images)、容器管理(containers)、网络(network)、数据卷(volume)等等
分成大类进行区分:每个大类下有不同的子命令,比如docker run属于容器操作,docker pull属于镜像管理。
例子:实际应用的例子,比如如何运行一个容器,如何构建镜像,如何查看日志等。
总结步骤:
- 将Docker基本指令按功能分类。
- 每个类别下列出常用命令,包括语法、说明和示例。
- 确保命令的正确性和常用性。
- 添加一些常见使用场景的示例,帮助理解如何组合使用这些命令。
镜像管理
提示:这里可以添加技术名词解释
指令 说明 示例 | Value |
---|---|
docker pull <镜像名>:<标签> 从仓库拉取镜像(默认标签为 latest) docker pull nginx:1.23 | |
docker build -t <镜像名> . 根据当前目录的 Dockerfile 构建镜像 docker build -t myapp:v1 . | |
docker images 查看本地所有镜像 docker images | grep nginx |
docker rmi <镜像ID或名称> 删除本地镜像(需无容器依赖) docker rmi myapp:v1 | |
docker save <镜像名> > 文件名.tar 将镜像导出为 .tar 文件(备份/迁移) docker save nginx > nginx.tar | |
docker load < 文件名.tar 从 .tar 文件加载镜像 docker load < nginx.tar |
|:--------😐 -------------😐
容器操作
指令 说明 示例 | Value |
---|---|
docker run [选项] <镜像名> 创建并启动容器 docker run -d -p 8080:80 --name my_nginx nginx | |
docker start/stop/restart <容器> 启动/停止/重启容器 docker stop my_nginx | |
docker ps 查看运行中的容器(-a 查看所有容器) docker ps -a | grep Exited |
docker rm <容器ID或名称> 删除已停止的容器 docker rm my_nginx | |
docker exec -it <容器> <命令> 在运行的容器中执行命令(交互式终端) docker exec -it my_nginx /bin/bash | |
docker logs <容器> 查看容器日志(-f 实时跟踪) docker logs -f my_nginx | |
docker cp <容器>:<路径> <本地路径> 从容器复制文件到本地 docker cp my_nginx:/app/logs ./ |
|:--------😐 -------------😐
网络管理
指令 说明 示例 | Value |
---|---|
docker network ls 查看所有网络 docker network ls | |
docker network create <网络名> 创建自定义网络 docker network create my_net | |
docker network connect <网络> <容器> 将容器连接到指定网络 docker network connect my_net my_nginx | |
docker network inspect <网络> 查看网络详细信息 docker network inspect bridge |
|:--------😐 -------------😐
数据卷管理
指令 说明 示例 | Value |
---|---|
docker volume ls 查看所有数据卷 docker volume ls | |
docker volume create <卷名> 创建数据卷 docker volume create my_vol | |
docker run -v <卷名>:<容器路径> 挂载数据卷到容器 docker run -v my_vol:/data nginx | |
docker run -v <本地路径>:<容器路径> 挂载本地目录到容器(绑定挂载) docker run -v ./app:/app nginx |
|:--------😐 -------------😐
其他常用指令
指令 说明 示例 | Value |
---|---|
docker-compose up -d 根据 docker-compose.yml 启动服务栈 docker-compose -f dev.yml up -d | |
docker system prune 清理无用资源(镜像、容器、网络等) docker system prune -a --volumes | |
docker stats 实时监控容器资源使用(CPU/内存/网络) docker stats my_nginx |
|:--------😐 -------------😐
典型场景示例
- 运行一个 Nginx 容器
# 后台运行并映射端口
docker run -d -p 80:80 --name my_nginx nginx
# 进入容器修改配置
docker exec -it my_nginx /bin/bash
- 构建并运行自定义镜像
# 构建镜像
docker build -t myapp:v1 .
# 运行容器并挂载目录
docker run -d -p 8080:80 -v ./config:/app/config myapp:v1
- 备份与恢复容器数据
# 备份数据卷
docker run --rm -v my_vol:/data -v $(pwd):/backup busybox tar cvf /backup/data.tar /data
# 恢复数据卷
docker run --rm -v my_vol:/data -v $(pwd):/backup busybox tar xvf /backup/data.tar -C /
小结
提示:这里可以添加总结
-d:后台运行,适合长期服务。
-p:端口映射,打通容器内外网络。
-it 以交互模式进入容器(-i 保持输入流,-t 分配伪终端)