version: "3.8"
services:
#自动拉取mysql镜像并且创建容器部署,并完成数据卷连同主机的挂载
mysql:
image: mysql
container_name: mysql
ports:
- "3306:3306"
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123
volumes:
- "./mysql/conf:/etc/mysql/conf.d"
- "./mysql/data:/var/lib/mysql"
- "./mysql/init:/docker-entrypoint-initdb.d"
networks:
- hm-net
# java应用hmall,在当前目录中的hamll文件中,找到Dockerfile文件
#,自动执行Dockerfile脚本来构建docker镜像并上传,并自动创建容器运行(前提是要将jar包和Dockerfile文件上传到虚拟机)
hmall:
build:
context: ./hmall
dockerfile: Dockerfile
container_name: hmall
ports:
- "8080:8080"
networks:
- hm-net
depends_on:
- mysql
#自动拉取nginx镜像并且创建容器部署,并完成数据卷连同主机的挂载
nginx:
image: nginx
container_name: nginx
ports:
- "18080:18080"
- "18081:18081"
volumes:
- "./nginx/nginx.conf:/etc/nginx/nginx.conf"
- "./nginx/html:/usr/share/nginx/html"
depends_on:
- hmall
networks:
- hm-net
#创建网络hm-net,取名为hmall,目的是让每个容器直接网络互联,存放于同一个网络桥段
networks:
hm-net:
name: hmall