【Docker】Docker Compose的配置与部署

文章目录

  • 一、Docker Compose
    • 1. Docker Compose 的概述
    • 2. Docker Compose 三大的概念
    • 3. Docker Compose 环境安装
  • 二、YAML 文件格式及编写注意事项
    • 1. YAML 文件格式
    • 2. YAML 格式的注意事项
    • 3. YAML 数据结构
      • 3.1 基本类型
      • 3.2 实例
      • 3.3 YAML 特殊类型
        • 文本块
        • 锚点与引用
  • 三、Docker Compose 配置与命令
    • 1. Docker Compose 配置常用字段
    • 2. Docker Compose 常用命令
  • 四、Docker Compose 的部署
    • 1. Docker Compose 部署 httpd
      • 1.1 准备环境配置
      • 1.2 编写配置文件 docker-compose.yml
    • 2. Docker Compose 部署 LNMP
      • 2.1 准备环境配置
      • 2.2 编写配置文件 docker-compose.yml
  • 总结
    • 1. Docker Compose 的作用
    • 2. Docker Compose 三大概念
    • 3. Docker 重启策略


一、Docker Compose

1. Docker Compose 的概述

  Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API, 就可以在其上利用Compose来进行编排管理。

  Docker Compose 是一个用于定义和运行多容器Docker应用程序的工具。它允许用户使用YAML文件来定义应用程序的配置,包括容器的数量、容器之间的依效关系、环境变量、端口映射以及其他设置。然后,用户可以使用docker-compose命令来启动和管理这些容器。

  使用 Docker Compose 可以方便地管理多个容器,例如,可以同时启动一个Web服务器容器和一个数据库容器,并在它们之间建立网络连接。Docker Compose 还支持自定义网络,使得容器可以在不同的网络中进行通信。

  Docker Compose文件通常包含一个或多个服务,每个服务都由一个或多个容器组成。服务定义了容器应该执行的任务,以及容器之间的依赖关系。例如,一个Web服务器服务可以包含一个或多个web 服务器容器,而这些容器又依赖于一个数据库容器。

2. Docker Compose 三大的概念

  Docker-Compose 将所管理的容器分为三层,分别是项目(project)、服务(service)以及容器(container) 。

  • Docker-Compose 运行目录下的所有文件组成一个项目,若无特殊指定项目名即为当前目录名。
  • 一个工程当中可包含多个服务,每个服务都包含一个名称、镜像、端口映射、环境变量、挂载点等信息。
  • Docker-Compose 的项目配置文件默认为 docker-compose.yml,可通过环境变量 COMPSE_FILE-f 参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。

  Compose 允许用户通过一个单独的 docker-compose.yml 模板文件(AM格式)来定义一组相关联的应用容器为一个项目(project)。

3. Docker Compose 环境安装

  Docker Compose 是 Docker 的独立产品,因此需要安装 Docker 之后在单独安装 Docker Compose。

#下载
curl - "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$ (uname -s)-$(uname m)" -o /usr/Local/bin/docker-compose
#安装
chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose --version

在这里插入图片描述

二、YAML 文件格式及编写注意事项

1. YAML 文件格式

  YAML 是一种标记语言,它可以很直观的展示数据序列化格式,可读性高。类似于 json数据描述语言,语法比 json简单的很多。YAML 数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号分隔,数组用中括号 [ ] 括起来, hash 用花括号 { } 括起来。

2. YAML 格式的注意事项

  • 大小写敏感;
  • 通过缩进表示层级关系;
  • 不支持制表符 tab 键缩进,只能使用空格缩进;
  • 缩进的空格数目不重要,只要相同层级左对齐,通常开头缩进2个空格;
  • # 号注释;
  • 符号字符后缩进1个空格,如冒号 : 、逗号 , 、横杠 -
  • 如果包含特殊字符可以用单引号或者双引号来引用处理,其中单引号 '' 引起来会作为普通字符串处理,双引号""会将特殊字符作为本身想表示的意思。

3. YAML 数据结构

3.1 基本类型

对象映射: 键值对的字典			  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/11670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA面试总结-Redis篇章(四)——双写一致性

JAVA面试总结-Redis篇章(四)——双写一致性 问:redis 做为缓存,mysql的数据如何与redis进行同步呢?第一种情况,如果你的项目一致性要求高的话 采用以下逻辑我们应该先删除缓存,再修改数据库&…

栈粉碎原理分析

栈粉碎原理分析 源代码如下 #include <stdio.h>void function(int a, int b) {char buffer[12];gets(buffer);//long* ret (long *) ((long)buffer28);//*ret *ret 7;return; }void main() {int x;x 0;function(1,2);x 1;printf("%d\n",x); } 由解注释前…

深入浅出Pytorch函数——torch.Tensor.backward

分类目录&#xff1a;《深入浅出Pytorch函数》总目录 相关文章&#xff1a; 深入浅出Pytorch函数——torch.Tensor 计算当前张量相对于图的梯度&#xff0c;该函数使用链式法则对图进行微分。如果张量不是一个标量&#xff08;即其数据具有多个元素&#xff09;并且需要梯度&a…

qt服务器 网络聊天室

widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//给服务器指针实例化空间server new QTcpServer(this); }Widget::~Widget() {delete ui; }//启动…

暴力猴插件简明开发教程->百度首页默认设置为我的关注

文章目录 暴力猴插件开发简明教程->百度首页默认设置为我的关注缘起缘灭思路实现尾声 暴力猴插件开发简明教程->百度首页默认设置为我的关注 缘起 在我的百度首页有很多自己设置的导航链接(接近100个),里面放了我常用的网站, 如下图 但是最近一段时间, 我发现百度做了一…

智能合约安全审计

智能合约安全审计的意义 智能合约审计用于整个 DeFi 生态系统&#xff0c;通过对协议代码的深入审查&#xff0c;可以帮助解决识别错误、低效代码以及这些问题。智能合约具有不可篡改的特点&#xff0c;这使得审计成为任何区块链项目安全流程的关键部分。 代码审计对任何应用…

[SQL挖掘机] - 右连接: right join

介绍: 右连接是一种多表连接方式&#xff0c;它以右侧的表为基础&#xff0c;并返回满足连接条件的匹配行以及右侧表中的所有行&#xff0c;即使左侧的表中没有匹配的行。右连接将右表的每一行与左表进行比较&#xff0c;并根据连接条件返回结果集。其实, 左连接和右连接原理一…

【牛客面试必刷TOP101】Day1.反转链表和合并两个排序的链表

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;牛客面试必刷TOP101 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&…

详细分析Python中运算符“==“和“is“的区别

目录 Python中运算符"" Python中运算符"is" ""和"is"的区别 总结 Python中运算符"" 在Python中&#xff0c;双等号运算符"" 用于比较两个值是否相等。它返回一个布尔值&#xff0c;即True或False&#xff0c;…

C# 使用opencv从图片识别人脸示例

1.用chatgpt帮我写了一个示例 using System; using Emgu.CV; using Emgu.CV.CvEnum; using Emgu.CV.Structure;class Program {static void Main(string[] args){// 加载人脸分类器CascadeClassifier faceCascade new CascadeClassifier("haarcascade_frontalface_defau…

JenKins工作流程

程序员提交代码到Git/SVN仓库&#xff0c;触发钩子程序向 JenKins 进行通知&#xff0c;Jenkins 调用Git/SVN插件获取源码&#xff0c;调用Maven打包为war包&#xff0c;调用Deploy to web container插件部署到Tomcat服务器。

Redis哨兵模式

Redis哨兵模式 一、服务器准备二、安装redis1.Master服务器2.SlaveFirst服务器3.SlaveSecond服务器 三、依次开启Redis服务器四、开启哨兵1.修改Master哨兵配置文件2.修改SlaveFirst哨兵配置文件3.修改SlaveSecond哨兵配置文件4.开启哨兵5.验证是否开启成功6.主从配置如下五、挂…

【替换】批量替换命令文件名称或者文件内容

你是否困扰过&#xff0c;每次文件F2进行修改&#xff0c;十几个没关系&#xff0c;百来个写代码麻烦&#xff0c;那就使用shell命令吧 执行语句 先养成习惯查询验证&#xff0c;因为是批量替换&#xff0c;为了防止全局替换嘎嘎叫 替换文件名 # 【习惯】先使用顾虑查询&…

layui 设置选中时间为当天时间最大值23:59:59、laydate设置选中时间为当天时间最大值23:59:59

既是涨知识的一天&#xff0c;又是干前端的一天&#xff01; laydate.render({ elem: #validityPeriod, //type: datetime,//类型要一定要相匹配 type: date, // 设置日期选择模式 trigger: click, format: yyyy-MM-dd HH:mm:ss, // 设置日期的显示格式 min: startDate, max: …

最新基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作方法

文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff0c;可直观的展示主题的研究发展历程、研究现状、研究…

收藏这11个插画网站,插画师必备!

无论是在哪种设计工作中&#xff0c;插画素材都是比较常用的素材。今天本文整理了11个好用的插画工具&#xff0c;能帮助设计师轻松绘制出插画&#xff0c;一起来看看吧&#xff01; 1、即时设计 即时设计是一款国产的&#xff0c;省心省力的插画工具。它为设计师提供了简单易…

linux系统C++和C函数封装方法

linux系统C和C函数封装方法 说明C函数封装C函数封装编译和调用 说明 .so文件是共享对象文件的扩展名&#xff0c;通常用于存储编译好的动态链接库。动态链接库是一些可被程序在运行时动态加载的代码和数据的集合。 .so文件可以被不同的程序共享使用&#xff0c;这样可以减少内…

YApi的安装与使用

1、介绍 YApi 是一个可本地部署的、免费开源的接口管理平台&#xff0c;它可以帮助团队更好地管理和共享接口文档。 主要功能 接口管理&#xff1a;对接口进行创建、编辑、查看、删除等操作。文档管理&#xff1a;创建项目文档&#xff0c;支持多人协作编辑。接口测试&#…

python实现某品牌数据采集

某品牌数据采集 采集需求 地址&#xff1a;http://www.winshangdata.com/brandList 需求&#xff1a;用scrapy框架采集本站数据&#xff0c;至少抓取5个分类&#xff0c;数据量要求5000以上 采集字段&#xff1a;标题、创建时间、开店方式、合作期限、面积要求 网页分析 …

大模型部署框架 FastLLM 实现细节解析

0x0. 前言 接着 大模型部署框架 FastLLM 简要解析 这篇文章首先梳理了一下FastLLM的调用链和关键的数据结构&#xff0c;然后解析了 FastLLM 的一些实现细节和CPU/GPU后端实现采用的优化技巧。 0x1. 调用链和数据结构解析 以chatglm-6b的支持为例&#xff0c;函数入口在 htt…