SpringCloud-基础设施即服务day5-DockerCompose

什么是DockerCompose
docker Compose是Docker编排的项目之一,负责快速的部署分布式应用
是官方的开源项目,负责实现对Docker容器集群的快速编排,从功能上面看,跟openStack之间的heat十分类似
compose的定位是定义和运行多个Docker容器的应用,其前身是开源项目Fig
它允许用户通过一个单独的docker-compose.yml模块文件来定义一组相关联的的应用容器为一个项目,compose里面有两个重要的概念
服务:一个应用的容器,实际上可以包含若干个运行相同实例的容器实例
项目:由一组关连的应用容器组成的一个完整的业务单元,在docker-compose.yml中间定义
compose的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷的生命周期管理
安装和卸载
可以通过python的包管理工具pip进行安装
命令安装
输入以下命令

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 

在这里插入图片描述
授权
chmod +x docker-compose
在这里插入图片描述
docker-compose基本使用
场景
最常见的是web网站,该项目包含web应用和缓存
使用
编写docker-compose.yml文件,这是compose使用的主板文件
在这里插入图片描述
docker-compose.yml

version: '3'
services:
  tomcat:
    restart: always
    image: tomcat
    container_name: tomcat
    ports:
        - 8080:8080

启动 docker-compose up 没有镜像时候会自动下载
以守护态运行 docker-compose -d

删除 docker-compose down

部署项目到容器
在/urs/local/项目创建文件夹 myblog

tan@ubuntu:/usr/local/docker$ mkdir bolg

vi docker-compose.yml

 version: '3'
services:
  web:
    restart: always
    image: tomcat
    container_name: web
    ports:
      - 8080:8080
    volumes:
      - /usr/local/docker/mybolg/ROOT:/usr/local/tomcat/webapps/ROOT
  mysql:
    restart: always
    image: mysql:5.7.22
    container_name: mysql
    ports:
      - 3306:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    volumes:
      - mysql-data:/var/lib/mysql
volumes:
  mysql-data:

运行

docker-compose up
将文件上传 /usr/local/docker/mybolg/ROOT
unzip解压 进入/usr/local/docker/mybolg/ROOT/WEB-INF/classes 修改数据库配置信息
docker-compose up 再次启动

配置文件语言yaml

YAML是用来专门写配置文件的语言,非常简洁和强大,远比json格式方便
基本语法规格

-大小写敏感
使用缩进表示成级关系
缩进时候不允许使用tab键,只允许使用空格
缩进的空格数目不重要,只要相同层级的元素左侧对齐就可以了
#表示注释、、

支持数据格式有三种,对象,数组,纯量
为什么json不适合做配置文件
缺乏注释
过于严格
低信噪比
长数据串
数字
json替代方案

HJSON
HOCON 为play框架设计的配置格式
YAML

发布了34 篇原创文章 · 获赞 19 · 访问量 1482

猜你喜欢

转载自blog.csdn.net/qq_42236003/article/details/93780396