.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
原文地址:https://www.cnblogs.com/ZhengHengWU/p/12882249.html