比如 springboot服务 需要mysql支持
    针对每个单独创建文件夹,构建镜像

    1. bsbdj-app
    2. bsbdj-db
    3. build.sh
    4. docker-compose.yml
    5. readMe.txt

    cd bsbdj-app 构建Dockerfile

    1. FROM openjdk:8u222
    2. WORKDIR /usr/local/bsbdj
    3. ADD bsbdj.jar .
    4. ADD application.yml .
    5. ADD application-dev.yml
    6. EXPOSE 80
    7. CMD ["java","-jar","bsbdj.jar"]

    docker build -t mashbing.com/bsbdj-app .
    cd bsbdj-db 将初始化脚本放进去 init.sql 编写Dockerfile

    1. FROM mysql:5.7
    2. WORKDIR /docker-entrypoint-initdb.d
    3. ADD 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 必须这样命名

    1. services:
    2. #子选项,db是服务名,也是为容器命名,网络主机名等
    3. db:
    4. # 对哪个目录下的dockerfile创建并解析,生成镜像
    5. build: ./bsbdj-db/
    6. #容错机制,宕机重启
    7. restart: always
    8. #设置环境变量
    9. environment:
    10. MYSQL_ROOT_PASSWORD: root
    11. # 应用对应app
    12. app:
    13. build: ./bsbjd-app/
    14. # 设置依赖,这里需要依赖数据库,有了依赖就互联互通
    15. depends_on:
    16. - db
    17. #设置端口映射
    18. ports:
    19. - "80:80"
    20. #
    21. restart: always

    启动 docker-compose up
    查看日志 docker-compose logs [容器名 比如service下的 app]
    关闭 docker-compose down