docker compose-语法

编写一个docker compose yaml文件:

具体compose yaml文件语法参考docker官网:

docker官网:https://www.docker.com

顶级元素配置一般学会前四个即可,configs-配置和secrets-秘钥用的少

顶级元素用法简单介绍:

首先在yaml文件定义这些顶级元素,一般学会前四个即可

name:名字。应用部署的名字

services:服务。要部署的服务,即要启动的一个个容器应用,不一定是就一个

networks:网络。启动这些应用要用的网络

volumes:卷。services中启动的一个个容器应用所需要的卷写在这个位置

具体写一个compose yaml文件,例子wordpress:

1.创建一个compose.yaml文件。可以创建一个叫compose.txt文件,然后改下后缀名即可

2.对照docker compose官网语法,编写composeyaml文件

使用文本工具打开compose.yaml文件,可以用文本文档,或者其他比如idea、vscode啥的都行

name:compose本次部署的应用名称

services:本次部署的应用需要启动2个容器应用,一个是docker容器mysql,另外一个是wordpress容器,所以写俩services,services内部写应用的名称(应用的名称和容器的名称可以不一致)+启动容器所需要的配置项(如在用命令启动容器时需要端口、环境变量、镜像等都写在配置项中),service服务即启动的应用名称或者service内部配置项中的container_name容器名称可以随意配置,可直接叫mysql、wordpress,也可叫mysqlhh,wordpresshh(个人听视频理解是这样)

service-mysql容器配置:

services内部image配置项写法:

services内部ports端口配置项写法:

一个容器应用要暴露的端口可能不止一个,所以ports是数组形式,一个-小短线代表一个端口映射,想再暴露其他的继续加小短线,跟nacos语法一样

service内部environment环境变量,-e配置项写法:

service内部volumes卷映射写法:

因为一个docker容器应用可能有很多卷映射或目录挂载,所以是数组写法,小短线形式

services内部restart开机自启写法:

service内部networks网络写法:

一个service即docker容器应用可以加入多个网络,所以是数组写法,小短线形式

service内部的container_name容器名称写法:

service-wordpress容器写法:

service内部的depends on写法:

wordpress启动需要依赖mysql先启动

使用compose yaml文件:

1.在linux云服务器上创建compose.yaml文件(也可以创建别的名称的yaml文件,因为实际会用-f参数指定文件,所以叫啥名都行)

在linux云服务器上vim compose.yaml即创建compose.yaml文件,输入i进入插入模式,将本地电脑编写的compose.yaml文件内容复制到该文件中,并最后输入:wq保存退出,ls查询是否创建成功compose.yaml文件

2.删除之前创建的容器、卷、网络

3.使用docker compose命令批量启动容器,并在浏览器访问启动的容器

可能没怎么听懂。

相关推荐
风落无尘1 小时前
Stable Diffusion WebUI & ComfyUI 完整安装教程:官方部署+一键整合包+Docker容器化(2026最新)
docker·容器·stable diffusion
在角落发呆3 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
裴东青5 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
哎呦,帅小伙哦5 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn5 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫5 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain5 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x6 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复
YuanDaima20486 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
万里侯7 小时前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s