Docker 笔记 -- 借助AI工具强势辅助

常用命令

镜像管理命令:

docker images(列出镜像)

docker pull(拉取镜像)

docker build(构建镜像)

docker save/load(保存/加载镜像)

容器操作命令

docker run(创建并启动容器)

docker start/stop/restart(启停容器)

docker exec(进入容器)

docker rm/rmi(删除容器/镜像

仓库交互命令

docker login/logout(登录/退出仓库)

docker push(推送镜像)

docker pull(拉取镜像)

状态查看命令

docker ps(查看运行中容器)

docker logs(查看容器日志)

docker-compose.yaml 文件

Docker Compose​ 的核心配置文件,用于定义和管理多容器 Docker 应用程序。它通过声明式语法描述应用的各个服务、网络、卷等组件及其依赖关系,使得容器编排变得简单高效。以下是其核心作用详解:

定义多容器服务

  • 服务编排:在一个文件中定义多个容器(服务),例如 Web 服务、数据库、缓存等。

    services:
    web:
    image: nginx:latest
    ports:
    - "80:80"
    db:
    image: postgres:13
    environment:
    POSTGRES_PASSWORD: example

配置容器参数

常用配置项​:

  • image:指定容器镜像(如 nginx:latest)。
  • ports:端口映射(主机端口:容器端口)。
  • environment:设置环境变量(如数据库密码)。
  • volumes:挂载主机目录或卷到容器。
  • networks:自定义容器网络。
  • depends_on:定义服务启动顺序(如 Web 服务依赖数据库启动)

一键启停与扩展

  • 启动所有服务docker-compose up -d(后台运行)。
  • 停止服务docker-compose down(清理容器、网络)。
  • 扩展实例docker-compose up -d --scale web=3 启动 3 个 Web 容器实例

环境隔离与复用

  • 多环境适配 :通过 -f 指定不同文件(如 docker-compose.prod.yaml)切换生产/测试环境。
  • 变量替换 :使用 ${VARIABLE} 结合 .env 文件动态配置参数

资源限制与健康检查

资源限制

复制代码
services:
  web:
    deploy:
      resources:
        limits:
          cpus: "0.5"
          memory: 512M

健康检查​:

复制代码
healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost"]
  interval: 30s
  timeout: 10s

网络与存储管理

  • 自定义网络 :容器间通过服务名通信(如 db 主机名指向数据库容器)。
  • 持久化数据 :通过 volumes 声明卷,避免容器销毁时数据丢失。

与 Docker Swarm/Kubernetes 集成

  • 生产级部署 :通过 docker stack deploy 将 Compose 文件部署到 Swarm 集群。
  • 转换为 Kubernetesdocker-compose convert 生成 K8s 资源文件(需工具支持)。
相关推荐
せいしゅん青春之我11 小时前
【JavaEE初阶】网络原理——TCP报文结构、确认应答机制
网络·笔记·网络协议·tcp/ip·java-ee
cui_win11 小时前
Minikube 安装与使用详细指南(Centos7 踩坑版)
docker·kubernetes·minikube·centos7·升级内核
charlie11451419112 小时前
2D 计算机图形学基础速建——2
笔记·学习·线性代数·教程·计算机图形学
9ilk13 小时前
【仿RabbitMQ的发布订阅式消息队列】--- 模块设计与划分
c++·笔记·分布式·后端·中间件·rabbitmq
行思理13 小时前
Dockerfile 各指令说明
运维·macos·docker·容器·php
FreeBuf_13 小时前
Docker Compose曝路径遍历漏洞,可致任意覆写文件(CVE-2025-62725)
docker·容器·eureka
摇滚侠14 小时前
Spring Boot3零基础教程,JVM 编译原理,笔记87
jvm·spring boot·笔记
摇滚侠14 小时前
Spring Boot3零基础教程,配置 GraalVM 环境,笔记88
java·spring boot·笔记
北诺南兮14 小时前
大模型算法面试笔记——多头潜在注意力(MLA)
笔记·深度学习·算法
dwedwswd14 小时前
亲子娱乐升级!Docker 电视盒子 ADB 安装助手,儿童 APP 一键装满电视
docker·娱乐·电视盒子