📚
Hoa Framework
  • 一、框架指南
  • 二、功能特性
  • 三、源码结构
  • 四、代码规范
  • 五、入门指南
  • 六、依赖注入/控制反转
  • 七、控制器和服务
  • 八、对象映射指南
  • 九、数据库操作指南
    • 9.1、正向工程(Code First)
    • 9.2、逆向工程(Database First)
    • 9.3、关于仓储(IRepository)
    • 9.4、增删改操作
    • 9.5、查询操作
    • 9.6、DataSet、DataTable 操作
    • 9.7、查询结果集映射
    • 9.8、批量增删改操作
    • 9.9、存储过程、视图、函数操作
    • 9.10、工作单元和事务
    • 9.11、多上下文、读写分离
    • 9.12、切面上下文(TangentDbContext)
    • 9.13、其他操作
    • 9.14、EF Core 高性能
    • 9.15、常见错误
  • 十、开放接口指南
    • 10.1、RESTFul 和 Swagger
    • 10.2、规范化返回值
  • 十一、数据校验
  • 十二、安全授权
  • 十三、异常处理
  • 十四、日志管理
  • 十五、配置管理
  • 十六、缓存管理
  • 十七、内置工具类
    • 17.1、数据加解密
  • 十八、跨域处理
  • 十九、筛选拦截器(未)
  • 二十、进程服务(Daemon)
  • 二十一、编写测试
    • 20.1、单元测试
    • 20.2、基准测试
    • 20.3、性能测试
  • 二十二、托管部署
    • 22.1、IIS 托管部署
    • 22.2、Nginx 托管部署
    • 22.3、Docker 容器部署
  • 二十三、性能分析(MiniProfiler)
  • 二十四、其他功能
    • 23.1、第三方包管理
    • 23.2、文件上传下载
    • 23.3、Razor 视图引擎
    • 23.4、生成客户端请求代码
    • 23.5、快捷操作
  • 二十五、Docker 容器化
    • 25.1、Docker 介绍
    • 25.2、Docker 安装
    • 25.3、Docker 安装服务
    • 25.4、Docker 常用命令
    • 25.6、Docker run 常用命令
    • 25.7、Docker-Compose 介绍
    • 25.8、docker-compose.yml
    • 25.9、Docker-Compose 常用命令
    • 25.10、Docker-Compose 转换 docker run
    • 25.11、Docker 构建自己的镜像
    • 25.12、Dockerfile指南
    • 25.13、Dockerfile 常用命令
    • 25.14、Dockerfile 打包、上传、分享
    • 25.15、Docker 数据卷
    • 25.16、Docker 域网络
    • 25.17、Docker + Nginx 实现分布式集群、负载均衡
  • 二十六、DevOps 持续部署集成
    • 26.1、DevOps 介绍
    • 26.2、持续集成、交付、部署
    • 26.3、Jenkins 介绍
    • 26.4、Jenkins 安装
    • 26.5、Jenkins 初始化
    • 26.6、Jenkins 实战演练
    • 26.7、Jenkis 项目配置
    • 26.8、Jenkins 插件
  • 二十七、OpenXml/Excel 操作
  • 二十八、SaaS 多租户
  • 二十九、Git 代码管理
    • 29.1、Git 介绍
    • 29.2、Git 安装
    • 29.3、Git 基础配置
    • 29.4、Git 工作流程
    • 29.5、Git 重要概念
    • 29.6、Git 创建仓库
    • 29.7、Git 基本操作
    • 29.8、Git 分支管理
    • 29.9、Git 查看提交历史
    • 29.10、Git 标签
    • 29.11、Git 拉取/获取/推送
    • 28.12、Git GUI工具
    • 29.13、Git 私有化部署
    • 29.14、Git 推荐开发模式
    • 29.15、Svn 转 Git
  • 贡献代码
  • 更新日志
由 GitBook 提供支持
在本页
  • 准备工具
  • 常用配置
  • 特别提醒
  • 其他

这有帮助吗?

  1. 二十五、Docker 容器化

25.8、docker-compose.yml

yml/yaml 文件可以方便我们编写可移植的服务编排文件。

上一节中我们已经了解,我们项目所有的依赖都写在了docker-compose.yml中,那我们如何编写这个文件呢?

准备工具

  • Visual Studio Code:安装docker拓展插件即可(推荐)

  • 黑客/高手/装逼佬:vim/vi或者直接记事本(新手勿入)

常用配置

version: '3.4'

services:
  apj.image_name: # 服务名称,用于重启,启动,暂停等操作
    image: monksoul/image_name # 可以动态构建,指定构建后的名称
    container_name: container_name # 运行时的容器名称
    build:  # 构建参数
      context: .  # 指定当前路径
      dockerfile: Dockerfile  # Dockerfile文件名
    volumes: # 数据卷
      - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
      - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
    depends_on:  #依赖项
      - apj.mysql
    expose:  #导出80端口
      - 80
    ports:  # 绑定端口
      - 8082:80
    links: # 配置域网络  (已被弃用,推荐 networkds)
      - apj.mysql:link_sql
    external_links: 连接外部网络(非当前docker-compose构建的)
      - other.mysql:link_sql2
    environment:  # 配置环境变量
      - NAME=monk
    networks: # 指定网络类型
      - webnet

  apj.mysql:
    image: mysql
    restart: always
    container_name: monk.mysql
    environment: 
      - MYSQL_ROOT_PASSWORD=123456 
    ports: 
      - 3306:3306
    networks: 
      - webnet

    deploy: # 部署方式
      replicas: 5 # 克隆5个,一键部署多个容器当前
      resources: # 配置资源
        limits: # 资源配置
          cpus: "0.1" # 本机cpu的10%
          memory: 50M # 当前容器最大内存
      restart_policy: # 重启策略
        condition: on-failure # 条件:失败就重启

networks: # 创建新的网络类型
  webnet:
    driver: bridge  # 网络方式:桥接或集群

特别提醒

默认如果没有指定具体的compose配置文件,那么就docker-compose.yml,并且如果不指定项目名称,默认就是文件夹的name

指定其他命名方式

docker-compose -f new-name.yml up

docker-compose -f new-name.yml ps

-f表示flle

其他

每一个docker-compose.yml文件的第一个便是version节点,指定了我们当前docker-compose.yml的语法版本,目前最新3.4

上一页25.7、Docker-Compose 介绍下一页25.9、Docker-Compose 常用命令

最后更新于4年前

这有帮助吗?