当前位置: 首页 > news >正文

Docker之docker compose!!!!

一、概述

是 Docker 官方提供的一款开源工具,主要用于简化在单个主机上定义和运行多容器 Docker 应用的过程。它的核心作用是容器编排,使得开发者能够在一个统一的环境中以声明式的方式管理多容器应用的服务及其依赖关系。

也就是说Docker Compose是一个用于定义和运行多个Docker容器的工具。它使用YAML文件来定义应用程序的服务、网络和卷等配置,然后使用单个命令即可启动、停止和管理整个应用程序的多个容器。

二、使用Docker Compose的简要步骤如下:

1. 创建一个YAML文件(通常命名为 docker-compose.yml ),用于定义应用程序的服务、网络和卷等配置。

2. 在YAML文件中定义服务,包括容器的镜像、端口映射、环境变量、依赖关系等。

3. 运行 docker-compose up 命令,Docker Compose将根据YAML文件中的配置启动和管理容器。

4. 使用 docker-compose down 命令停止和删除由Compose创建的容器。

三、安装

1、下载镜像

yum install docker-compose

2、 创建一个yml文件

 以下是一个简单的Docker Compose示例:

version: '3'
services:web:image: nginx:latestports:- 0:80volumes: - /opt/wms-web/:/usr/share/nginx/html/db: image: mysql:latestports:- 0:3306environment: MYSQL_ROOT_PASSWORD: 123456volumes: - /opt/db/:/var/lib/mysql/

3、在这个示例中,我们定义了两个服务: web 和 db 。

web 服务使用了 nginx:latest 镜像,并将主机的3888端口映射到容器的80端口。还定义了一个卷,将主机的 ./opt/wms-web 目录映射到容器的 /usr/share/nginx/html 目录。

db 服务使用了 mysql:latest 镜像,并设置了一个环境变量 MYSQL_ROOT_PASSWORD 。还定义了一个卷,将主机的 ./opt/db 目录映射到容器的 /var/lib/mysql 目录。

通过运行 docker-compose up 命令,Docker Compose将启动这两个容器,并根据定义的配置进行设置。这样,我们就可以同时运行和管理这两个容器,它们可以相互通信和交互。

4、启动 (进入你创建yml目录下进行启动)

docker-compose up守护进程启动
docker-compose up -d   

5、查看

docker ps

 6、访问

7、启动多个  (同样进入yml文件所在目录进行操作)

web为你配置文件中的web
docker-compose scale web=5

相关文章:

  • 数据结构与算法2-俩变量值交换、理解异或位运算
  • 还敢自学黑客,骂醒一个算一个(网络安全/信息安全)
  • 【Android】【Bluetooth Stack】蓝牙音乐协议分析之音频控制与信息加载(超详细)
  • 二叉树的遍历及线索二叉树试题(三)
  • 【CMake】所见所闻所学
  • 【蓝桥杯-单片机】基于定时器的倒计时程序设计
  • 基础:TCP四次挥手做了什么,为什么要挥手?
  • 编程题:相同数字的积木游戏(Java)
  • 暴力快速入门强化学习
  • 2024年阿里云服务器地域和可用区所在地区城市分布表
  • MT2191 整数大小比较(高精度)
  • React—— props校验(非typescript校验类型)
  • 目标检测——PP-YOLO算法解读
  • 33-Java服务定位器模式 (Service Locator Pattern)
  • js中的new Map的用法
  • javascript数组去重/查找/插入/删除
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • opencv python Meanshift 和 Camshift
  • Solarized Scheme
  • spring cloud gateway 源码解析(4)跨域问题处理
  • unity如何实现一个固定宽度的orthagraphic相机
  • 利用DataURL技术在网页上显示图片
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 使用Gradle第一次构建Java程序
  • 算法-图和图算法
  • 探索 JS 中的模块化
  • 我与Jetbrains的这些年
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​ssh免密码登录设置及问题总结
  • #define与typedef区别
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #HarmonyOS:软件安装window和mac预览Hello World
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (三)c52学习之旅-点亮LED灯
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • .Net MVC + EF搭建学生管理系统
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET大文件上传知识整理
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .project文件
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)
  • [C/C++]数据结构 循环队列
  • [DP 训练] Longest Run on a Snowboard, UVa 10285
  • [Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率
  • [javaSE] GUI(事件监听机制)
  • [leetcode] 3Sum