Docker Nginx 一台服务器部署多个服务项目

Docker Nginx 开启多个服务

使用 docker 安装 Nginx 反向代理服务器,实现二级域名功能

部署两个二级域名的服务

这里部署两个项目,一个是使用Flask开发的bookstore,另一个是使用Django开发的数据可视化项目covid-19

bookstore

version: '2.0'

services:

  mysql_bs:
    image: mysql
    restart: always
    networks:
      - bookstore_net
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:
      - ./script/data/mysql/init:/docker-entrypoint-initdb.d/
    environment:
      MYSQL_ROOT_PASSWORD: 'root'

  mongo:
    restart: always
    build:
      context: .
      dockerfile: mongo-dockerfile
    privileged: true
    networks:
      - bookstore_net
    volumes:
      - /home/caisi/bookstore/script/data/mongo/init:/mongo/back
    environment:
      MONGO_INITDB_DATABASE: bookstore
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: root

#  nginx:
#    image: nginx
#    restart: always
#    volumes:
#      - ./conf/nginx.conf:/etc/nginx/conf.d/default.conf
#      - ~/nginx:/etc/nginx/conf.d/
#    ports:
#      - 80:80
    # depends_on:
    #   - bookstore
#    links:
#      - bookstore

  bookstore:
    restart: always
    build:
      context: .
      dockerfile: Dockerfile
    #volumes:
      #- .:/code
      # - /etc/localtime:/etc/localtime  # 时区
    expose:
      - 8000
    links:
      - mysql_bs
      - mongo
    networks:
      - bookstore_net

networks:
  bookstore_net:
    driver: bridge

这里的nginx服务注销了是因为要开启两个服务加入到nginx中,所以需要把nginx单独放出来

这个项目的github地址:https://github.com/caisi35/BookStore

dv(数据可视化)

version: '2.0'

services:

  mysql:
    image: mysql
    #build:
    #  context: .
    #  dockerfile: docker-mysql
    restart: always
    networks:
      - dv-net
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:
      - ./data/:/docker-entrypoint-initdb.d/
      - ./config/mysql.cnf:/etc/mysql/conf.d/my.cnf
    environment:
      MYSQL_ROOT_PASSWORD: 'root'

#  nginx:
#    image: nginx
#    restart: always
#    volumes:
#      - ./config/nginx.conf:/etc/nginx/conf.d/default.conf
#    ports:
#      - 81:80
#    links:
#      - covid_dv

  covid_dv:
    restart: always
    build:
      context: .
      dockerfile: Dockerfile
#    volumes:
#      - :/
    networks:
      - dv-net

      #  ipv4_address: 172.20.0.2
    ports:
      - 8001:8001
    expose:
      - 8001
    links:
      - mysql

networks:
  dv-net:
    driver: bridge

这里的nginx也和上面的一样,在单独运行的时候才开启

这个dv项目的github地址:https://github.com/caisi35/DataVisualization/tree/master/covid_19_dv

docker 网络

  • 创建自定义网卡的docker命令:
docker network create xxxxxxx_name
caisi@iZbp142i6z3h2th6j7ehvyZ:~/covid_19_dv$ docker network ls
NETWORK ID     NAME                      DRIVER    SCOPE
65215fa7b138   bookstore_bookst
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值