首页 > 其他分享 >Docker Compose 案例

Docker Compose 案例

时间:2024-09-10 11:13:37浏览次数:11  
标签:Compose URL app redis 案例 host internal Docker docker

version: '3.8'

x-app: &app
  build:
    dockerfile: ./Dockerfile
  restart: unless-stopped
  working_dir: /app
  volumes:
    - .:/app/oms-odoo  # 将本地的 app 目录挂载到容器的 /app 目录
    - ./log:/var/log
#  environment:
#    - REDIS_URL=redis://host.docker.internal:6579/0
#    - CELERY_BROKER_URL=redis://host.docker.internal:6379/0
#    - OMS_REDIS_URL=redis://host.docker.internal:6379/1
#    - SERVER_URL=https://odoo-oms.dbee.hk

services:
  celery_ui:
    <<: *app
    working_dir: /app/oms-odoo/backend/src
    command: python -m celery -A main_task.app flower --port=8002
    ports:
      - "8803:8002"
    depends_on:
      - celery_worker
    env_file:
      - ./backend/docker.env

  celery_beat:
    <<: *app
    working_dir: /app/oms-odoo/backend/src
    command: python -m celery -A main_task.app beat --loglevel=info --logfile=/var/log/celery_beat.log
    depends_on:
      - celery_worker
    env_file:
      - ./backend/docker.env

  celery_worker:
    <<: *app
    working_dir: /app/oms-odoo/backend/src
    command: python -m celery -A main_task.app worker --loglevel=info --logfile=/var/log/celery_worker.log
    depends_on:
      - db
      - redis
    env_file:
      - ./backend/docker.env
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 2048M

  app:
    <<: *app
    working_dir: /app/oms-odoo/backend/src
    command: python -m uvicorn main:app --reload --port 8022 --host 0.0.0.0
    ports:
      - "8022:8022"
#    network_mode: "host"
    env_file:
      - ./backend/docker.env
    environment:
      - SERVER_URL=http://localhost:8069
    depends_on:
      - db
      - redis
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 2048M
    healthcheck: # 健康检查
      test: [ "CMD", "curl", "--fail", "http://localhost:8022/" ]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 30s


  db:
    image: postgres:16
    environment:
      POSTGRES_DB: oms_database
      POSTGRES_USER: username
      POSTGRES_PASSWORD: password
    ports:
      - "5632:5432"  # 如果需要访问 PostgreSQL 的端口
#    volumes:
#      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:latest
    ports:
      - "6579:6379"  # 如果需要访问 Redis 的端口

#volumes:
#  postgres_data:

 

标签:Compose,URL,app,redis,案例,host,internal,Docker,docker
From: https://www.cnblogs.com/watermeloncode/p/18406060

相关文章

  • 本地服务调用容器(docker)注册至nacos&dubbo服务
    1.问题背景开发人员通过本地启动服务注册到nacos,调用通过容器注册到nacos的服务失败; 2.问题解决  step1:指定网络模式为主机模式(network=host)  step2:    增加暴露端口(port=xxx)  step3:    指定dubbo服务注册到注册中心的ip+port(du......
  • docker Get "https://registry-1.docker.io/v2/": x509: certificate is valid for
    前言docker在进行build时,报错:Get"https://registry-1.docker.io/v2/":x509:certificateisvalidfor问题原因:Docker客户端无法验证DockerHub服务器的SSL/TLS证书解决在/etc/docker/daemon.json中新增国内镜像源:"registry-mirrors":["https:/......
  • 深度学习基础案例4--运用动态学习率构建CNN卷积神经网络实现的运动鞋识别(测试集的准
    ......
  • Springboot整合websocket(附详细案例代码)
    文章目录WebSocket简述WebSocket是什么?WebSocket的特点WebSocket的工作流程WebSocket的消息(帧)格式WebSocket与HTTPspringboot中整合WebSocketpom依赖实体类配置类握手配置类WebSocket配置类自定义异常类webSocket服务类websocket中Session的getBasicRemote()和......
  • docker 笔记
    1.把自己的jdk打包成镜像假设我们安装的jdk位置在/usr/local/app/jdk此时我们需要在app目录下建Dockerfile文件,代码如下#基础镜像FROMcentos:7.9.2009#维护者信息MAINTAINERYourName<[email protected]>#设置环境变量ENVJAVA_HOME/app/jdkENVPATH$JAVA_......
  • 最新扣子(Coze)实战案例:Coze触发器的用法,做一个运动提醒Bot,完全免费教程
    大家好,我是斜杠君。我的教程《AI应用开发系列教程之扣子(Coze)实战教程》正在免费开放中,如果想学习AI应用搭建,请关注公众号,获取免费教程。​最近有同学问,扣子(Coze)中的触发器如何使用。今天就和大家说说扣子平台触发器的使用方法。什么是触发器Coze平台的触发器功能允许你的B......
  • flask-docker更新(mysql更新为容器)
    前言之前用docker编写了一个flask的简单demo,但是里面的mysql用的本地的,当时是自己偷懒用了本地的,现在空余时间重新处理了mysql容器重新更新一下一、docker-compose.yml示例version:'3'services:flask:build:context:./appcontainer_name:flask......
  • 案例分析:如何用设计模式优化性能1
    设计模式就是对常用开发技巧进行的总结,它使得程序员之间交流问题,有了更专业、便捷的方式。比如,我们在《02|理论分析:性能优化有章可循,谈谈常用的切入点》中提到,I/O模块使用的是装饰器模式,你就能很容易想到I/O模块的代码组织方式。事实上,大多数设计模式并不能增加程序的性......
  • 案例分析:如何用设计模式优化性能12
    设计模式就是对常用开发技巧进行的总结,它使得程序员之间交流问题,有了更专业、便捷的方式。比如,我们在《02|理论分析:性能优化有章可循,谈谈常用的切入点》中提到,I/O模块使用的是装饰器模式,你就能很容易想到I/O模块的代码组织方式。事实上,大多数设计模式并不能增加程序的性......
  • 案例分析:如何用设计模式优化性能2
    设计模式就是对常用开发技巧进行的总结,它使得程序员之间交流问题,有了更专业、便捷的方式。比如,我们在《02|理论分析:性能优化有章可循,谈谈常用的切入点》中提到,I/O模块使用的是装饰器模式,你就能很容易想到I/O模块的代码组织方式。事实上,大多数设计模式并不能增加程序的性......