docker-compose.yml
version: "3"
services:
test:
hostname: test
image: tomcat:8
volumes:
- "./web/hotel/:/usr/local/tomcat/webapps/ROOT"
ports:
- "8080:8080"
environment:
username: lzz
userpass: lzz
url: jdbc:mysql://mysql:3306/ktv?useUnicode=true&characterEncoding=utf8
depends_on:
- mysql
entrypoint:
- "catalina.sh"
- "run"
mysql:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: ktv
MYSQL_USER: lzz
MYSQL_PASSWORD: lzz
ports:
- "3306:3306"
volumes:
- ./db:/docker-entrypoint-initdb.d
- 注意: "./web/hotel/:/usr/local/tomcat/webapps/ROOT"
将hotel项目挂载到webapp/ROOT上,注意一定是root目录下,不然之后的访问都要带上项目名
这里不能写localhost,因为docker启动每次分配的 ip都不一样,所以这里一定要写MySQL的服务名。
部署目录
db:初始化数据库的sql数据。
web:我们的web项目
[图片上传失败...(image-a83b2a-1563851544162)]
db目录下的sql初始化文件一定要是mysql-init.sql命名。