本文共 2122 字,大约阅读时间需要 7 分钟。
什么是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/项目创建文件夹 myblogtan@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/mysqlvolumes: mysql-data:
运行
docker-compose up
将文件上传 /usr/local/docker/mybolg/ROOT unzip解压 进入/usr/local/docker/mybolg/ROOT/WEB-INF/classes 修改数据库配置信息 docker-compose up 再次启动YAML是用来专门写配置文件的语言,非常简洁和强大,远比json格式方便
基本语法规格-大小写敏感
使用缩进表示成级关系 缩进时候不允许使用tab键,只允许使用空格 缩进的空格数目不重要,只要相同层级的元素左侧对齐就可以了 #表示注释、、支持数据格式有三种,对象,数组,纯量
为什么json不适合做配置文件 缺乏注释 过于严格 低信噪比 长数据串 数字 json替代方案HJSON
HOCON 为play框架设计的配置格式 YAML转载地址:http://kikgn.baihongyu.com/