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命令批量启动容器,并在浏览器访问启动的容器

可能没怎么听懂。

相关推荐
来一颗砂糖橘23 分钟前
负载均衡的多维深度解析
运维·负载均衡
楠奕29 分钟前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT1 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!1 小时前
Linux常用指令(2)
linux·运维·服务器
飞Link1 小时前
逆向兼容的桥梁:3to2 自动化降级工具实现全解析
运维·开发语言·python·自动化
开心码农1号2 小时前
k8s中service和ingress的区别和使用
云原生·容器·kubernetes
L1624762 小时前
Kubernetes 完整学习手册(1 主多从 + 纯 YAML 部署 + 访问原理)
学习·容器·kubernetes
LIZhang20162 小时前
linux写一个脚本实时保存内存占用情况
linux·运维·服务器
FS_Marking2 小时前
ZTP(零接触配置):实现自动化与高效的网络部署
运维·网络·自动化