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

Docker Docker Compose 完整入门与实用技巧

1️⃣ Docker 常用命令

镜像操作

命令作用说明
docker images列出本地镜像包含镜像 ID、标签、大小
docker pull <镜像>拉取镜像从 Docker Hub 或自建仓库拉取
docker build -t <镜像名:tag> .构建镜像当前目录 Dockerfile 构建
docker rmi <镜像ID/镜像名>删除镜像必须先删除依赖该镜像的容器
docker tag <源镜像> <目标镜像>镜像打标签方便推送或管理
docker push <镜像>推送镜像推送到远程仓库

容器操作

命令作用说明
docker ps查看运行中容器只显示运行中
docker ps -a查看所有容器包括停止的
docker run -d --name <容器名> <镜像>运行容器-d 后台运行
docker stop <容器名>停止容器安全停止
docker start <容器名>启动已存在容器不删除容器
docker restart <容器名>重启容器停止 + 启动
docker rm <容器名>删除容器必须先 stop
docker exec -it <容器名> bash进入容器调试或管理容器

卷(Volume)管理

命令作用说明
docker volume ls列出卷查看本地数据卷
docker volume create <卷名>创建卷用于数据持久化
docker volume rm <卷名>删除卷删除前请确保卷不被容器使用
docker volume inspect <卷名>查看卷信息包括挂载路径

网络管理

命令作用说明
docker network ls列出网络包括 bridge、host、custom
docker network create <网络名>创建自定义网络容器可加入自定义网络通信
docker network inspect <网络名>查看网络显示容器连接信息
docker network rm <网络名>删除网络必须先断开容器连接

清理与监控

命令作用说明
docker logs -f <容器>查看日志-f 实时跟随
docker stats容器资源监控CPU、内存、网络
docker system prune -f清理未使用资源删除无用容器、镜像、网络
docker container prune删除停止的容器释放空间
docker volume prune删除无用卷注意数据丢失

使用小技巧

  1. 后台启动 + 日志跟随

    docker run -d --name myapp -p 8080:8080 myimage
    docker logs -f myapp
    docker exec -it myapp bash
    

  2. 升级部署

    docker pull myimage:latest
    docker stop myapp
    docker rm myapp
    docker run -d --name myapp -p 8080:8080 myimage:latest
    

  3. 容器与卷数据持久化

    docker system prune -f
    docker volume prune -f
    docker images
    

  4. 容器与卷数据持久化 

  • 使用 -v <本地路径>:<容器路径>-v <卷名>:<容器路径>

  • 容器删除不影响卷数据

2️⃣ Docker Compose 常用命令

Docker Compose 用于定义和管理多容器应用,通过 docker-compose.yml 配置文件实现服务编排。

基本命令

命令作用常用选项
docker-compose up启动服务-d:后台运行,--build:启动前 build 镜像
docker-compose down停止并删除容器--volumes:删除卷,--rmi all:删除镜像
docker-compose restart重启服务指定服务名可重启部分服务
docker-compose stop停止服务不删除容器
docker-compose start启动已存在容器不重新创建
docker-compose logs查看日志-f 实时跟随
docker-compose ps查看容器状态列出当前项目下的容器
docker-compose exec进入容器执行命令服务名 bash
docker-compose run临时执行任务--rm 执行完删除容器
docker-compose build构建镜像--no-cache 不使用缓存

启动流程(文字版)

假设 docker-compose.yml 定义了三个服务:dbbackendfrontend

  1. docker-compose down

  2. docker-compose up -d

使用小技巧

  1. 后台启动 + 日志

    docker-compose up -d
    docker-compose logs -f
    

  2. 只重启某个服务

    docker-compose restart backend
    

  3. 彻底清理并重启

    docker-compose down --volumes
    docker-compose up -d --build
    

  4. 进入容器调试

    docker-compose exec backend bash
    

  5. 临时执行任务

    docker-compose run --rm backend python manage.py migrate
    

总结思路

🔑 比喻理解:

  • Docker = 工厂管理员

  • 镜像 = 模板

  • 容器 = 工厂实例

  • 卷 = 数据仓库

  • 网络 = 工厂间通道

  • Compose = 调度员,按依赖顺序管理工厂启动

  1. 开发调试up -d + logs -f + exec

  2. 升级部署down --volumes + up -d --build

  3. 临时任务run --rm

  4. 快速重启restart

http://www.dtcms.com/a/392185.html

相关文章:

  • ARP协议工作原理分析(基于Wireshark)
  • CKS-CN 考试知识点分享(14) Istio网络策略
  • TCP 协议全解析:握手、挥手、重传与流控的深度剖析
  • 计算机视觉(opencv)实战二十七——目标跟踪
  • 深度学习中神经网络与损失函数优化
  • 整体设计 完整的逻辑链条 之1 点dots/线lines/面faces 的三曲:三进三出的三个来回
  • 微调基本理论
  • LeetCode算法日记 - Day 48: 课程表II、火星词典
  • 【面板数据】地级市中国方言多样性指数数据集
  • C++编程学习(第35天)
  • SS443A 霍尔效应传感器:高性能磁感应解决方案
  • MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
  • GitHub 热榜项目 - 日榜(2025-09-20)
  • 怎么判断 IP是独享的
  • Linux多进程编程(上)
  • 如何在Spring Boot项目中添加自定义的配置文件?
  • 【MySQL初阶】01-MySQL服务器和客户端下载与安装
  • AI搜索的下一站:多模态、个性化与GEO的道德指南
  • OpenLayers地图交互 -- 章节四:修改交互详解
  • Gradle插件的分析与使用
  • 如何避免everything每次都重建索引
  • 基于SIFT+flann+RANSAC+GTM算法的织物图像拼接matlab仿真,对比KAZE,SIFT和SURF
  • 笔记:现代操作系统:原理与实现(3)
  • 【智能系统项目开发与学习记录】Docker 基础
  • 数据展示方案:Prometheus+Grafana+JMeter 备忘
  • flask获取ip地址各种方法
  • 17.6 LangChain多模态实战:语音图像文本融合架构,PPT生成效率提升300%!
  • MyBatis实战教程:SQL映射与动态查询技巧
  • 在 Windows Docker 中通过 vLLM 镜像启动指定大模型的方法与步骤
  • 分类预测 | Matlab实现SSA-BP麻雀搜索算法优化BP神经网络多特征分类预测