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

Docker Compose 使用笔记

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具;

docker-compose.yml 文件则是 Docker Compose 用来配置应用服务的核心文件它以 YAML 格式编写

YAML 文件用途:

  • 服务定义:在 docker-compose.yml 文件中,可以定义应用程序的各个服务(service)。每个服务代表一个容器化的组件,比如 Web 服务器、数据库、缓存等。通过这种方式,可以将一个复杂的应用拆分成多个独立的服务,方便管理和部署。
  • 依赖管理:可以明确指定服务之间的依赖关系,确保在启动某个服务之前,其依赖的服务已经正确启动。例如,Web 应用服务可能依赖于数据库服务,那么可以在配置中指定这种依赖,保证数据库先启动。
  • 资源配置:能够为每个服务配置资源,如 CPU、内存限制,端口映射,文件或目录的挂载映射,环境变量等,使服务在不同环境中都能稳定运行。

知识点:

Docker 中,挂载(Mounting)是一种将文件或目录从宿主机挂载到容器中的技术。这样做可以让容器访问宿主机上的文件和目录,或者反过来,让宿主机访问容器内的文件和目录。挂载通常用于持久化数据、共享配置文件、访问外部资源等场景。

挂载文件的同步方向是怎样的?

当使用挂载功能时,Docker 会在容器启动时将宿主机指定的目录或文件挂载到容器内的指定位置。在容器运行过程中,无论是宿主机上的文件发生变化,还是容器内对挂载的文件进行修改,这些更改都会立即反映到对方。

例如:

  redis:
    image: redis:5.0.0
    container_name: redis
    hostname: redis
    restart: always
    ports:
      - 6379:6379
    volumes:
      - /data/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/docker/redis/data:/data
    command:
      redis-server /usr/local/etc/redis/redis.conf 
service123:
    image: xxxx
    container_name: xxxxh
    restart: always
    ports:
      - 5000:5001
    volumes:
      - /data/docker/service:/work/app1
    env_file:
      - /data/docker/files/env_file
    environment:
      - TZ=Asia/Shanghai
      - JAVA_OPS=-Xmx512M -Xms512M
    depends_on:
      - redis
      - mysql

关键解释:

  • depends_on:指定服务之间的依赖关系,确保在启动当前服务之前,依赖的服务已经启动
  • Environment设置容器运行时的环境变量,可以是一个键值对列表。
  • env_file:指定一个或多个包含环境变量的文件。

常用命令:

  • docker-compose up:前台启动所有定义的服务。
  • docker-compose up -d: 该命令会以后台模式启动所有服务容器
  • docker-compose down:停止并移除所有由 docker-compose up 启动的容器。
  • docker-compose ps:查看当前由 Docker Compose 管理的容器的状态

相关文章:

  • QT 学习一 paintEvent,QPainter ,QImage
  • 智慧城市运行管理服务平台建设方案
  • STM32串口通信
  • ‘java‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
  • 【网络】什么是 IHL(Internet Header Length,首部长度)TTL(Time To Live,生存时间)?
  • 【编解码技术】什么是编码复杂度?
  • SpringMVC(三)响应处理
  • 构建智能汽车地图标准体系:自动驾驶技术的基石
  • 一文讲清楚CUDA与PyTorch、GPU之间的关系
  • 基于Python的selenium入门超详细教程(第1章)--WebDriver API篇
  • 【Linux-传输层协议TCP】TCP协议段格式+确认应答+超时重传+连接管理机制(三次握手、四次挥手、理解TIME_WAIT + CLOSE_WAIT)
  • 结构型——适配器模式
  • 二维数组常见应用场景以及示例
  • [Ai 力扣题单] 数组基本操作篇 27/704/344/386
  • Linux系统性能调优
  • 数据库系统原理|课程回顾与习题部分参考答案
  • 区间预测 | Matlab实现QRBiTCN分位数回归双向时间卷积神经网络注意力机制时序区间预测
  • Python画图
  • Markdown:Mermaid 画图
  • 【Go类库分享】Go expr 通用表达式引擎
  • 网站后台编辑框无法显示/而的跟地seo排名点击软件
  • wordpress DUX商店模式/百度首页排名优化服务
  • 十大免费自助建站/seo对网络推广的作用是什么?
  • 山东第二波疫情最新消息/轻松seo优化排名 快排
  • 哈尔滨建立网站公司/网络营销的常用方法
  • 免费做app网站/seo优化软件有哪些