• .Net Core+Nginx+Mysql使用Docker-Compose实现多容器化部署


     一:构建docker-compose.yml文件

    version: '3'
    services:
        mysql.db:
         container_name: mysql.db
         image: mysql
         restart: always
         environment:
           MYSQL_ROOT_PASSWORD: xxxxx
         command:
          --lower_case_table_names=1
          #--initialize-insecure
         volumes:
          - /home/mysql/:/var/lib/mysql
         ports:
          - 3306:3306
         
        dotnetapi:
            container_name: dotnetapicontains
            build: .
            depends_on:
              -  mysql.db
            links:
              -  mysql.db
        reverse-proxy:
            container_name: reverse-proxy
            image: nginx
            depends_on:
            - dotnetapi
            ports:
             - "5002:5002"
            volumes:
             - ./proxy.conf:/etc/nginx/conf.d/default.conf

    其中定义了三个服务:

    1. myql.db:使用mysql镜像,并挂载当前项目下的/home/mysql/文件夹来持久化存储,参数顺序一定不要乱,不然会入坑。,
      --lower_case_table_names=1数据库忽略大小写
    2. dotnetapi:基于当前项目构建的容器服务,依赖于mysql.db服务。
    3. reverse-proxy:使用nginx定义反向代理服务,其中挂载了当前项目下的proxy.conf文件作为反向代理配置文件。其中proxy.conf的配置如下(注意proxy_pass指定的url为http://dotentapi:5002)

    二:构建proxy.conf文件

    server {
        listen 5002;
        location / {
          proxy_pass http://dotnetapi:5002;
        }
    }

    三:使用docker-compose命令发布

    docker-compose up -d  #后台运行
    
    docker-compose up
  • 相关阅读:
    Java.Io 初步了解
    Java 对象序列化与反序列化
    Java
    Java
    Java
    实现文件拷贝
    Java
    Java 国际化标准程序实现
    【C#】分享带等待窗体的任务执行器一枚
    解决64位Windows2003程序字体很小的问题
  • 原文地址:https://www.cnblogs.com/ZhengHengWU/p/12882249.html
Copyright © 2020-2023  润新知