文章目录
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