目录

  • docker-compose介绍
  • 创建docker-compose.yml文件
  • 参数解析
  • 执行yml文件



安装docker请移步=》

安装docker

安装tomcat、mysql、nginx请移步=》安装步骤

docker-compose介绍

Compose 是用于定义和运行多容器 Docker 应用程序的工具。
通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。
然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

直白一点其实就是将多个容器连接起来,使用docker-compose运行yml配置文件,一键启动多个容器
使用场景:比如tomcat+mysql中项目需要配置mysql的ip地址进行连接,而在docker容器中每个容器的ip是不固定的,所以就需要我们手动去连接。
这里会用到docker中的 --link
而单纯使用--link虽然也能连接两个服务,但是使用不方便,而且连接也是单向的。连接多个服务就比较麻烦。
所以推荐使用docker-compose来连接并启动服务

创建docker-compose.yml文件

保持容器结构整洁,使用前可先删除之前启动的容器 [docker rm 容器名称]后面使用dokcer-compose执行的时候相当于创建并启动容器

在当前文件加创建docker-compose.yml文件,文件内容如下:
*注意:这里的缩进只能使用空格,使用tab会报错

version: '3.1'

services:
 mysql:
  restart: always
  image: hy:v1
  container_name: mysql
  ports:
  - 3306:3306
  environment:
   MYSQL_ROOT_PASSWORD: 123456
 tomcat:
  restart: always
  image: tomcat:jdk8-openjdk
  container_name: tomcat
  ports:
  - 8080:8080
  links:
   - mysql:mysql
 nginx:
  restart: always
  image: nginx:latest
  container_name: nginx
  ports:
  - 9090:80
  links:
  - tomcat:tomcat

上面是我自己用来连接tomcat、mysql和nginx使用的配置文件

参数解析

单独拿出tomcat的配置解析一下

 tomcat:						//这里是给你的服务起的别名
  restart: always				//开机启动
  image: tomcat:jdk8-openjdk	//镜像名称加tag,[docker image]查询
  container_name: tomcat		//设置启动后容器的名称,这里的名称不要与存在的容器重名
  ports:						//端口映射
  - 8080:8080
  links:
   - mysql:mysql				//冒号前面是需要连接的服务名,后面是tomcat访问的名称
   								//如在tomcat中ping mysql 就使用
   								// docker exec -it tomcat ping mysql
   								//如果是 mysql:m1 就使用 docker exec -it tomcat ping m1
   								//所以项目中连接mysql就可以使用这个地址
   								// url: jdbc:mysql://mysql:3306

执行yml文件

在yml文件目录下执行
docker-compose up -d 出现

Creating mysql ... done
Creating tomcat ... done
Creating nginx  ... done

就说明启动成功了
不过想启动项目,还得配置nginx,mysql要创建数据库和表,并初始化数据。