比如 springboot服务 需要mysql支持
针对每个单独创建文件夹,构建镜像
bsbdj-appbsbdj-dbbuild.shdocker-compose.ymlreadMe.txt
cd bsbdj-app 构建Dockerfile
FROM openjdk:8u222WORKDIR /usr/local/bsbdjADD bsbdj.jar .ADD application.yml .ADD application-dev.ymlEXPOSE 80CMD ["java","-jar","bsbdj.jar"]
docker build -t mashbing.com/bsbdj-app .
cd bsbdj-db 将初始化脚本放进去 init.sql 编写Dockerfile
FROM mysql:5.7WORKDIR /docker-entrypoint-initdb.dADD init.db .
docker build -t mashibing.com/bsbdj-db .
docker run -d -e MYSQL_ROOT_PASSWORD=root msb.com/bsbdj-db
MYSQL_ROOT_PASSWORD 对应docker官方mysql的变量定义,有很多需要自己查询
以上运行只是测试
编写docker-compose.yml 必须这样命名
services:#子选项,db是服务名,也是为容器命名,网络主机名等db:# 对哪个目录下的dockerfile创建并解析,生成镜像build: ./bsbdj-db/#容错机制,宕机重启restart: always#设置环境变量environment:MYSQL_ROOT_PASSWORD: root# 应用对应appapp:build: ./bsbjd-app/# 设置依赖,这里需要依赖数据库,有了依赖就互联互通depends_on:- db#设置端口映射ports:- "80:80"#restart: always
启动 docker-compose up
查看日志 docker-compose logs [容器名 比如service下的 app]
关闭 docker-compose down
