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: alwaysenviroment:MYSQL_ROOT_PASSWORD: rootapp:build: ./bsbdj-app/depends_on:- dbports:- "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入门到专精》课程的学习笔记
Docker入门到专精08-Docker Compose实战相关推荐
- Docker 入门系列(2)- Docker 镜像, 免 sudo 使用 docker 命令、获取查看、修改镜像标签、查找删除创建镜像、导入导出镜像
1. 免 sudo 使用 docker 命令 如果还没有 docker group 就添加一个 sudo groupadd docker 将用户加入该 group 内 sudo gpasswd -a ...
- Docker 入门系列(3)- Docker 容器(创建、启动、终止、进入、删除、导入、导出容器、容器和镜像转化)
Docker 容器 简单来说,容器是镜像的一个运行实例.所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层. 如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行态环境和其他系 ...
- Docker入门系列之一:在一个Docker容器里运行指定的web应用
实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然 ...
- Docker 入门系列(6)- Docker 互联
容器互联机制 容器的互联 (linking) 是一种让多个容器中应用进行快速交互的方式.它会在源和接收容器之间创建连接关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的 IP 地址. 1. ...
- Docker 入门系列(5)- Docker 端口映射(映射所有IP地址、映射到指定地址和指定端口、映射指定地址任意端口、查看映射端口配置)
端口映射 映射容器内应用的服务端口到本地宿主主机 1. 从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的.当容器中运行一些网络应用,要 ...
- Docker 入门系列(4)- Docker 数据管理(挂载目录、挂载文件、数据卷挂载、数据卷共享、数据卷删除、数据卷容器备份和恢复)
基于底层存储实现,Docker 提供了三种适用于不同场景的文件系统挂载方式:Bind Mount.Volume 和 Tmpfs Mount. Bind Mount 能够直接将宿主操作系统中的目录和文件 ...
- docker入门(十三):Docker构建自己的ubuntu镜像
构建我的ubuntu Docker hub 中 99%的镜像都是由下面这一层开始的 FROM scratch 然后构建我们自己的层. (1)编写配置文件dockerfile # 新建dockerfil ...
- Docker入门实践学习总结
Docker入门实践学习总结 文章目录 Docker入门实践学习总结 一.Docker概述 1.Docker为什么会出现? 2.Docker的历史 3.细聊Docker 4.Docker能干啥 二.D ...
- Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像
2019独角兽企业重金招聘Python工程师标准>>> 在前一篇文章:Docker入门系列之一:在一个Docker容器里运行指定的web应用 里, 我们已经成功地将我们在本地开发的一 ...
最新文章
- C语言应用于LR中-如何得到数组长度
- C++ 虚函数在基类与派生类对象间的表现及其分析
- html如何提交保存,html表单提交保存
- 搭建Ubuntu18.04+Anaconda3.x+Pycharm+SimpleITK(二)
- poj1509最小表示法
- 关键字static在C和C++中的区别
- leetcode 打印_LeetCode第118号问题:杨辉三角
- Cocos2d-x创建包边字
- 深入浅出 ASP.NET Core 与 Docker 入门课程说明
- C++函数概念解析(1)
- 字符串按照单词为单位逆序排列
- python与数值计算环境安装
- 最齐全的宋体字体素材,速来收藏
- 软考高级 真题 2017年上半年 信息系统项目管理师 案例分析
- 领峰:个人如何投资白银炒白银有哪些方法
- git commit --amend撤销方法
- opencv将16位灰度图片转化为8位
- Visual Paradigm简单教程(1):绘制状态机图
- 送给女朋友的java程序_逗女朋友开心的玫瑰花Java web程序
- gs 服务器文件,服务器gs
热门文章
- Android Weekly #35 知识工作者就是管理者——虽未管人,但在管事
- [单片机][IIC/I2C][APDS9960] 手势传感器 4种手势
- Working Practice-破窗理论与写代码
- java监听适配器是什么_JAVA 监听器与适配器 小小的分析
- java如何使用虹软sdk_Java使用虹软SDK做人脸识别之十分简单的入门
- cindy java_Cindy User Guide
- NGS各种组学建库原理(图解)
- 如何解决MathType无法正常使用问题
- 智慧社会:大数据与社会物理学 (财富汇) - 电子书下载(高清版PDF格式+EPUB格式)...
- Linux下jar启停脚本