Docker:Docker Compose(补充三)

ops/2024/12/22 23:58:31/

Docker:Docker Compose

  • 1. Docker Compose 批量管理容器的工具

1. Docker Compose 批量管理容器的工具

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件来配置应用服务,它允许用户编排、组合和配置多个容器的部署。Docker Compose 主要用于开发、测试和生产环境,使得应用部署更为简洁和高效。

主要特点

  • 简化配置:通过使用 YAML 文件(通常命名为 docker-compose.yml),所有服务的配置可以在单个文件中进行管理,使得容器服务的配置更加集中和易于管理。

  • 一键部署:用户可以使用一个简单的命令 docker-compose up 来启动和停止整个应用。

  • 服务依赖管理:Docker Compose 允许用户定义服务间的依赖关系,确保服务的启动顺序符合依赖要求。

  • 重复使用:Docker Compose 项目可以在不同的环境中重复使用,保证了开发、测试和生产环境的一致性。

  • 隔离环境:每个项目可以在隔离的环境中运行,互不干扰。

核心组件

  • 服务(services):代表容器本身,在 docker-compose.yml 文件中配置,每个服务可以使用不同的镜像。

  • 网络(networks):定义容器间的网络连接,Docker Compose 默认设置一个网络并连接所有配置的服务。

  • 卷(volumes):用于数据持久化和数据共享,可以在容器间共享文件和目录。

  • 环境变量:可以在配置文件中设置环境变量,用于容器内应用的配置。

常用命令

  • docker-compose up:启动全部或特定的服务,并创建服务需要的任何网络和卷。
  • docker-compose down:停止并移除所有容器,可选地包括网络和卷。
  • docker-compose build:构建服务所需的镜像。
  • docker-compose logs:查看服务的输出日志。
  • docker-compose exec:在运行的服务容器中执行命令。

在这里插入图片描述

docker compose up -d 上线就是第一次配置

编写一个compose语句
官方文档:https://docs.docker.com/reference/compose-file/

原来我们只能通过命令逐个安装,比如安装Mysql与wordpass

#创建网络
docker network create blog#启动mysql
docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=wordpress \
-v mysql-data:/var/lib/mysql \
-v /app/myconf:/etc/mysql/conf.d \
--restart always --name mysql \
--network blog \
mysql:8.0#启动wordpress
docker run -d -p 8080:80 \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=123456 \
-e WORDPRESS_DB_NAME=wordpress \
-v wordpress:/var/www/html \
--restart always --name wordpress-app \
--network blog \
wordpress:latest
name: myblog
services:mysql:container_name: mysql   // 容器image: mysql:8.0        // 用哪个镜像ports:- "3306:3306"environment:- MYSQL_ROOT_PASSWORD=123456 // 环境变量,第一种写法- MYSQL_DATABASE=wordpressvolumes:- mysql-data:/var/lib/mysql    // 数据卷映射- /app/myconf:/etc/mysql/conf.d  // 目录挂载restart: alwaysnetworks:- blogwordpress:image: wordpressports:- "8080:80"environment:WORDPRESS_DB_HOST: mysql // 环境变量,第二种写法WORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: 123456WORDPRESS_DB_NAME: wordpressvolumes:- wordpress:/var/www/htmlrestart: alwaysnetworks:- blogdepends_on:- mysqlvolumes:mysql-data:    // 数据卷wordpress:networks:blog:

在这里插入图片描述
第二次启动的时候会将修改的内容重新build与启动,但是老的没变的直接启动
在这里插入图片描述


下线后,删除对应的镜像还有卷
在这里插入图片描述


http://www.ppmy.cn/ops/144166.html

相关文章

K8s docker-compose的入门

一、Docker Compose 简介 什么是 Docker Compose? 用于定义和运行多容器 Docker 应用的工具。Docker Compose 的主要功能 使用 docker-compose.yml 文件定义服务。一键启动和管理多容器环境。安装与环境准备 安装 Docker 和 Docker Compose。检查版本:d…

王佩丰24节Excel学习笔记——第十五讲:条件格式与公式

【以 Excel2010 系列学习,用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 简单条件格式的设置多个条件叠加使用时,会覆盖之前格式条件格式新建规则使用公式自定义时,注意绝对引用单元格 一、使用简单的条件格式 1、为特定范围的数值…

在 Spark 上实现 Graph Embedding

在 Spark 上实现 Graph Embedding 主要涉及利用大规模图数据来训练模型,以学习节点的低维表示(嵌入)。这些嵌入能够捕捉和反映图中的节点间关系,如社交网络的朋友关系或者物品之间的相似性。在 Spark 上进行这一任务,可…

sqlite3 支持位运算 和view和 triger

数据设置条件以后可以.根据门限自动调整其他的值 由数据库记录修改时间,及记录-> 网元设备的告警产生时间,设置超时清除时间,记录系统的原始时间戳 CPp 有 sqlite 支持 json 导出字符串,json 库将字符串,映射为结构体 triger update table 更新到一个 可设置参数列表 ,view …

9_HTML5 SVG (5) --[HTML5 API 学习之旅]

SVG 模糊效果 HTML5中的SVG&#xff08;可缩放矢量图形&#xff09;允许我们创建高质量的二维图形&#xff0c;包括应用各种滤镜效果。模糊效果是通过<feGaussianBlur>滤镜原语来实现的。下面我将给出4个使用SVG进行模糊效果处理的示例&#xff0c;并为每个代码段添加详…

云消息队列 MQTT 版:物联网通信的基础设施

在物联网&#xff08;IoT&#xff09;技术日新月异的今天&#xff0c;设备之间的通信需求逐渐增大&#xff0c;尤其是在需要高效、实时数据交换的应用场景中&#xff0c;如何确保设备与设备、设备与平台之间的无缝对接与信息流通&#xff0c;成为了行业发展的关键。为了适应这些…

基于matlab的单目相机标定

链接&#xff1a; 单目相机标定&#xff08;使用Matlab&#xff09; 用Matlab对单目相机参数的标定步骤&#xff08;保姆级教程&#xff09; 1.准备代码 调用摄像头代码&#xff08;用于测试摄像头是否可用&#xff09;&#xff1a; #https://blog.csdn.net/qq_37759113/art…

前端篇-Content-Type 详解

Content-Type Content-Type&#xff08;MediaType&#xff09;&#xff0c;即是Internet Media Type&#xff0c;互联网媒体类型&#xff0c;也叫做MIME类型。在互联网中有成百上千中不同的数据类型&#xff0c;HTTP在传输数据对象时会为他们打上称为MIME的数据格式标签&#…