Docker Compose 定义单个服务

在 Docker Compose 中,可以非常方便的定义单个服务,下面通过一个完整的例子进行介绍。

示例:

# 使用的是 Docker Compose 的第三版规范
version: '3'

# 服务定义
services:
  # 定义一个 webapp 服务
  webapp:
    # 配置构建信息
    build:
      # 指定构建上下文路径为当前目录下的 ./mywebapp。这意味着 Docker 引擎会在这个目录
      # 下寻找构建所需的文件。
      context: ./mywebapp
      # 指定构建时使用的 Dockerfile 文件名称为 Dockerfile
      # 默认情况下会在构建上下文中寻找该文件
      dockerfile: Dockerfile
    # 环境变量配置
    environment:
      # 设置环境变量 DEBUG 为 true
      DEBUG: true
    # 端口映射配置
    ports:
      # 将容器内部的 80 端口映射到主机的 8000 端口
      # 这样可以通过主机的 8000 端口访问容器内运行的服务
      - "8000:80"
    # 数据卷配置
    volumes:
      # 将主机当前目录下的 ./static 目录挂载到容器内的 /app/static 目录
      # 这使得在主机上对 ./static 目录的修改可以立即反映在容器内,方便开发和更新静态文件
      - ./static:/app/static
    # 依赖关系配置
    depends_on:
      # 表明这个服务依赖于 database 服务,在启动 webapp 服务之前,
      # 会确保 database 服务已经启动
      - database

上面例子中,定义了一个名为 webapp 的服务。它从当前目录下的 mywebapp 文件夹构建镜像,设置了环境变量 DEBUG 为 true,将容器的 80 端口映射到宿主机的 8000 端口,挂载了 ./static 目录到容器内的 /app/static 目录,并依赖于一个名为 database 的服务。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号