Docker Compose 基本语法

services 是顶级节点,也就是你要启动的服务全部放在这里。
MySOL就是我们预期中的一个服务。
mysql8:指的是我们这个服务叫 mysql8.
image:我们这个服务里运行的是什么镜像,或者说跑的是什么。这里指定了使用 mysql:8.0.29 这个版本。
command:启动命令,这里相当于加上了这个命令行参数。
volumes:挂载文件。这里挂载了一个文件用来初始化数据库。
ports:指定端口映射关系

# 可以显式的声明版本
version: "3"

services:
 mysql8:
  image: mysql:8.0.29
  restart: always
  command: -
### Docker Compose 文件语法概述 Docker Compose 使用 YAML 文件来定义和管理多容器应用。文件通常命名为 `docker-compose.yml` 或者其他自定义名称,并且支持不同版本的语法结构。 #### 版本声明 在编写 Docker Compose 文件时,首先需要指明使用的版本号。不同的版本提供了不同程度的功能和支持: ```yaml version: "3.7" ``` 此行表明当前文件采用的是 3.7 版本的语法[^3]。 #### 定义服务 接下来是定义各个服务的部分,每个服务对应一个独立的应用组件或依赖项。以下是 Redis 数据库作为服务的一个例子: ```yaml services: redis: image: redis:alpine deploy: replicas: 6 update_config: parallelism: 2 delay: 10s restart_policy: condition: on-failure ``` 这段代码片段展示了如何设置名为 `redis` 的服务,它基于官方提供的精简版镜像 `redis:alpine` 运行六个副本实例;当更新发生时,每次只替换两个节点并等待十秒再继续下一个批次;如果遇到失败情况,则仅重启那些异常终止的服务进程。 #### 网络与卷配置 除了基本的服务描述外,还可以进一步定制网络连接方式以及持久化存储方案: ```yaml networks: default: driver: bridge volumes: db_data: ``` 这里创建了一个默认桥接模式下的内部虚拟网络供各服务间通信之用,并设定了一个名为 `db_data` 的外部挂载点以便保存重要数据防止丢失[^5]。 对于更详细的语法规则和其他高级特性(比如环境变量传递、健康检查机制等),建议参阅官方文档获取最新最全的信息[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值