• .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
  • 相关阅读:
    [BZOJ4755][JSOI2016]扭动的回文串(manacher+Hash)
    十二省联考2019部分题解
    [BZOJ2959]长跑(LCT+并查集)
    [BZOJ4541][HNOI2016]矿区(平面图转对偶图)
    笛卡尔树
    [CF896C]Willem, Chtholly and Seniorious(珂朵莉树)
    [BZOJ4349]最小树形图
    [BZOJ1858][SCOI2010]序列操作(线段树)
    [PA2014]Parking
    [PA2014]Budowa
  • 原文地址:https://www.cnblogs.com/ZhengHengWU/p/12882249.html
Copyright © 2020-2023  润新知