当前位置: 首页 > article >正文

docker基本应用和相关指令

文章目录

    • 概要
    • 镜像管理
    • 容器操作
    • 网络管理
    • 数据卷管理
    • 其他常用指令
    • 典型场景示例
    • 小结

概要

Docker的命令通常分为几个大类,比如镜像管理(images)、容器管理(containers)、网络(network)、数据卷(volume)等等

分成大类进行区分:每个大类下有不同的子命令,比如docker run属于容器操作,docker pull属于镜像管理。
例子:实际应用的例子,比如如何运行一个容器,如何构建镜像,如何查看日志等。
总结步骤:

  1. 将Docker基本指令按功能分类。
  2. 每个类别下列出常用命令,包括语法、说明和示例。
  3. 确保命令的正确性和常用性。
  4. 添加一些常见使用场景的示例,帮助理解如何组合使用这些命令。

镜像管理

提示:这里可以添加技术名词解释

指令 说明 示例Value
docker pull <镜像名>:<标签> 从仓库拉取镜像(默认标签为 latest) docker pull nginx:1.23
docker build -t <镜像名> . 根据当前目录的 Dockerfile 构建镜像 docker build -t myapp:v1 .
docker images 查看本地所有镜像 docker imagesgrep 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 -agrep 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

|:--------😐 -------------😐

典型场景示例

  1. 运行一个 Nginx 容器
# 后台运行并映射端口
docker run -d -p 80:80 --name my_nginx nginx

# 进入容器修改配置
docker exec -it my_nginx /bin/bash
  1. 构建并运行自定义镜像
# 构建镜像
docker build -t myapp:v1 .

# 运行容器并挂载目录
docker run -d -p 8080:80 -v ./config:/app/config myapp:v1
  1. 备份与恢复容器数据
# 备份数据卷
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 分配伪终端)


http://www.kler.cn/a/584650.html

相关文章:

  • MySQL小练习
  • 大数据面试之路 (三) mysql
  • 在Vue中如何高效管理组件状态?
  • 蓝桥每日打卡--数组美丽值求和
  • LM Studio 替换源的方式解决huggingface.co无法访问的问题
  • Java 无 GUI 浏览器:HtmlUnit 入门及实战 [特殊字符]
  • 地理信息系统(ArcGIS)在水文水资源、水环境中的应用
  • ClickHouse 通过 ​*ARRAY JOIN* 结合 ​Map 类型的内置函数取数值
  • ollama docker离线安装本地大模型
  • 如何解决Redis的缓存雪崩、缓存击穿、缓存穿透?
  • Flink状态管理深度探索:从Keyed State到分布式快照
  • 在 Windows 系统下使用 VMware 安装 Ubuntu 24.04 LTS 系统
  • unittest vs pytest区别
  • 分布式存储学习——HBase表结构设计
  • ESP32芯片模组方案,设备物联网无线通信,WiFi蓝牙交互控制应用
  • 25年3月重磅--聊聊OpenManus
  • Go语言 vs Java语言:核心差异与适用场景解析
  • 文档在线协同工具ONLYOFFICE教程:如何使用宏对 PDF 表单中的特定字段执行计算
  • Haskell爬虫:为电商运营抓取京东优惠券的实战经验
  • LLM论文笔记 23: Meta Reasoning for Large Language Models