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

可能没怎么听懂。

相关推荐
爱吃大芒果14 小时前
openJiuwen在Ubuntu上的安装教程
linux·运维·ubuntu
J_liaty14 小时前
Docker 部署 Spring Boot 项目完整指南:从零到生产环境
spring boot·docker·容器
草莓熊Lotso14 小时前
Python 库使用全攻略:从标准库到第三方库(附实战案例)
运维·服务器·汇编·人工智能·经验分享·git·python
2501_9160074714 小时前
iOS 自动化上架的工具组合,在多平台环境中实现稳定发布
android·运维·ios·小程序·uni-app·自动化·iphone
利刃大大14 小时前
【Docker】核心概念 && 常用指令总结 && Docker Compose
docker·容器
阿豪学编程14 小时前
【Linux】线程基础:控制逻辑与封装指南
linux·运维·服务器
liulilittle14 小时前
ISIF Cloud HKG-B/HKG-C解锁(NSP)
linux·运维·服务器
菩提祖师_14 小时前
基于Docker的微服务自动化部署系统
开发语言·javascript·flutter·docker
没有bug.的程序员14 小时前
中台与微服务的关系:从技术迷雾到组织协同的深度解构
运维·微服务·devops·架构设计·数字化转型·中台架构·组织协同