Docker入门到专精08-Docker Compose实战

资源准备

[root@localhost docker]# tree bsbdj/
bsbdj/
├── bsbdj-app
│   ├── application-dev.yml
│   ├── application.yml
│   └── bsbdj.jar
└── bsbdj-db
    └── init-db.sql

构建APP镜像

进入bsbdj-app目录

cd bsbdj-app

编写Dockerfile

FROM openjdk:8u222-jre
WORKDIR /usr/local/bsbdj
ADD bsbdj.jar .
ADD application.yml .
ADD application-dev.yml .
EXPOSE 80
CMD ["java", "-jar", "bsbdj.jar"]

构建镜像

docker build -t stepin.cn/bsbdj .

构建数据库镜像

编写Dockerfile

FROM mysql:5.7
# 数据库初始化目录
WORKDIR /docker-entrypoint-initdb.d
ADD init-db.sql .

构建镜像

docker build -t stepin.cn/bsbdj-db .

运行容器

# 运行db容器
docker run -d -e MYSQL_ROOT_PASSWORD=root stepin.cn/bsbdj-db
# 验证db容器
docker exec -it 容器id /bin/bash
# 进入容器终端,使用mysql客户端登录数据库
mysql -uroot -proot

# 运行app容器
docker run -d stepin.cn/bsbdj-app

编写docker-compose.yml

# 解析yml的版本
version: '3.3'
services:
  db:
    build: ./bsbdj-db/
    restart: always
    enviroment:
      MYSQL_ROOT_PASSWORD: root
  app:
    build: ./bsbdj-app/
    depends_on:
      - db
    ports:
      - "80:80"

yaml中通过空格缩进,体现上下级关系

yaml表达字符使用单引号与双引号是等价的

docker-compose管理应用

# 前台运行
docker-compose up
# 后台运行
docker-compose up -d
# 查看日志
docker-compose logs
# 查看某个容器的日志
docker-compose logs bsbdj-app
# 停止容器
docker-compose down

访问应用:http://{{宿主机ip}}

说明

Docker Compose仅适用于单机的多容器管理,生产环境很少使用。多作为demo演示,快速体验使用。

版权说明

本文章内容为马士兵教育《架构师必备技能docker入门到专精》课程的学习笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值