docker-compose.yml 详细教学

目录

文件结构

版本

服务(Services)

示例


文件结构

docker-compose.yml 文件通常包含以下几部分:

  • version:指定 Docker Compose 文件的版本。
  • services:定义应用程序中的服务,每个服务对应一个容器。
  • volumes:定义数据卷,用于数据持久化。
  • networks:定义网络,用于容器间的通信。

版本

版本字段用于指定 docker-compose.yml 文件的格式版本。例如:

version: "3.8"

不同的版本支持不同的功能,建议使用较新的版本以获得更好的功能支持。

服务(Services)

services 部分,可以定义多个服务,每个服务对应一个容器。以下是常见字段的说明:

  • image:指定服务使用的镜像。
  • build:指定 Dockerfile 的路径,用于构建镜像。
  • command:覆盖容器启动后执行的默认命令。
  • container_name:指定容器的名称。
  • environment:设置环境变量。
  • ports:映射主机和容器的端口。
  • volumes:挂载数据卷。
  • restart:设置容器的重启策略。

示例

以下是一个简单的 docker-compose.yml 文件示例,用于搭建一个包含 MySQL 和 WordPress 的博客系统:

version: "3.8"
services:db:image: mariadb:10.6.4-focalcommand: '--default-authentication-plugin=mysql_native_password'volumes:- db_data:/var/lib/mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: somewordpressMYSQL_DATABASE: wordpressMYSQL_USER: wordpressMYSQL_PASSWORD: wordpressexpose:- 3306wordpress:image: wordpress:latestvolumes:- wp_data:/var/www/htmlports:- 80:80restart: alwaysenvironment:WORDPRESS_DB_HOST: dbWORDPRESS_DB_USER: wordpressWORDPRESS_DB_PASSWORD: wordpressWORDPRESS_DB_NAME: wordpressvolumes:db_data:wp_data:

启动服务

docker-compose up -d

使用 -d 参数将服务放到后台运行。

停止服务

docker-compose down

查看服务状态

docker-compose ps

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

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

相关文章

spring 学习 (注解)

目录 前言 常用的注解 须知 1 Conponent注解 demo(案例) 2 ControllerServiceRepository demo(案例) 3 ScopeLazyPostConstructPreDestroy demo(案例) 4 ValueAutowiredQualifierResource demo(案例) 5 Co…

【设计模式】【行为型模式】迭代器模式(Iterator)

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…

C语言-------结构体(1)

数据类型 (1)基本数据类型 整型 浮点型 字符型 (2)构造类型 数组 结构体 结构体: 用来处理,现实生活中,更复杂的数据的描述 用来 描述复杂数据的 一种用户自定义的数…

【centos7】安装redis

rpm链接:http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 下载remi源 wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 安装remi源 rpm -ivh remi-release-7.rpm 查找remi源中redis的版本 yum --enablereporemi list redis …

获取整十分钟时间戳的多种方法详解

在数据处理、定时任务等场景中,经常需要获取当前时间的整十分钟时间戳。本文将介绍两种常用方法,并拓展其他实现思路,帮助你灵活应对不同需求。 方法一:datetime模块计算法 原理:通过截断分钟数实现时间对齐。 代码实…

AcWing 798. 差分矩阵

题目来源: 找不到页面 - AcWing 题目内容: 输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将…

【Python爬虫①】专栏开篇:夯实Python基础

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…

数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤

数仓建模的核心概念 事实表(Fact Table): 存储业务过程的度量值(如销售额、订单数量等)。 通常包含外键,用于关联维度表。 维度表(Dimension Table): 存储描述性信息&…

【靶机渗透实战】AI:WEB:1

靶机下载官网AI: Web: 1 ~ VulnHub 靶机描述 Difficulty: IntermediateNetwork: DHCP (Automatically assign)Network Mode: NATThis box is designed to test skills of penetration tester. The goal is simple. Get flag from /root/flag.txt. Enumerate the box, get low…

MATLAB中contains函数用法

目录 语法 说明 示例 查找文本 使用模式进行搜索 匹配列表中的任何文本 忽略大小写 确定字符向量中是否包含子字符串 contains函数的功能是确定字符串中是否有模式。 语法 TF contains(str,pat) TF contains(str,pat,IgnoreCase,true) 说明 如果 str 包含指定的模…

【limit 1000000,10 加载很慢该怎么优化?】

在 SQL 数据库中,使用 LIMIT 子句进行分页查询时,如果偏移量(offset)很大,查询性能可能会变得非常差。 这是因为数据库需要扫描和跳过大量的记录才能到达所需的起始位置,然后再取出所需的记录数。 例如,LIMIT 1000000, 10 表示跳过前 100 万条记录,然后取接下来的 10…

Python基于 Flask 创建简单Web服务并接收文件

在全部网口上创建web服务, 监听8080端口关闭debug模式GET时返回HTML界面, 用于提交文件POST到 /upload 时, 从接收的 file 变量中读取文件, 并传递给 opencv 解析为 image 对象 from flask import Flask, request, redirect, url_for import os import cv2 import numpy impor…

zookeeper的zkCli.sh登录server报错【无法正常使用】

如果zookeeper使用zkCli.sh登录的时候老是频闪,没有办法正常使用,大概率是与java的版本不兼容 [zookeeperPostgreSQL bin]$ ./zkCli.sh Connecting to localhost:2181 2025-02-05 19:23:53,933 [myid:] - INFO [main:Environment100] - Client envir…

初始JavaEE篇 —— Spring Web MVC入门(下)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 初始JavaEE篇 —— Spring Web MVC入门(上) 在上篇文章中,我们学习了一些注解的使用、Postman模…

【verilog】函数clogb2的解读

最近经常看到clogb2函数。 源代码如下所示。 function integer clogb2; input [31:0] value; reg [31:0] tmp; reg [31:0] rt; begin tmp value - 1; for (rt 0; tmp > 0; rt rt 1) tmp tmp >> 1; clogb2 rt; end endfunction 这个函数的意思是:这段…

鸿蒙app开发中 tab 切换的时候 里面的子组件如何在页面出现的时候 就请求数据

解决方案 使用 鸿蒙提供的 onVisibleAreaChange 就是页面一出现就请求这个回调 .onVisibleAreaChange([0.0, 1.0], (isVisible: boolean, currentRatio: number) > {console.info(Test Text isVisible: isVisible , currentRatio: currentRatio)if (isVisible &am…

c/c++蓝桥杯经典编程题100道(19)质因数分解

汉诺塔问题 ->返回c/c蓝桥杯经典编程题100道-目录 目录 汉诺塔问题 一、题型解释 二、例题问题描述 三、C语言实现 解法1:递归法(难度★) 解法2:迭代法(难度★★★) 四、C实现 解法1&#xff1…

Linux:线程的互斥与同步

一、买票的线程安全 大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况,变量归属单个线程,其他线程无法获得这种变量。 但有时候,很多变量都需要在线程间共享,这样…

ESP学习-1(MicroPython VSCode开发环境搭建)

下载ESP8266固件:https://micropython.org/download/ESP8266_GENERIC/win电脑:pip install esptools python.exe -m pip install --upgrade pip esptooo.py --port COM5 erase_flash //清除之前的固件 esptool --port COM5 --baud 115200 write_fla…

什么是多光谱环形光源

多光谱环形光源是一种用于机器视觉、工业检测和科学研究的光源设备,能够提供多种波长的光,适用于不同材料和表面的检测需求。以下是其关键特点和应用: 关键特点 多光谱输出:可发射多种波长的光(如可见光、红外光、紫外…