当前位置: 首页 > news >正文

docker - 5 docker compose

什么是 Docker Compose

Docker Compose是Docker官方的开源项目,是一个用于定义和运行多容器Docker应用程序的工具。

服务(Service):在Docker Compose中,一个服务实际上可以包括若干运行相同镜像的容器实例,代表一个应用的容器。例如,一个Web应用、数据库等都可以被视为一个服务。

项目(Project):由一组关联的应用容器组成的一个完整业务单元。在docker-compose.yml文件中定义,整个docker-compose.yml文件定义一个项目。Compose的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷的生命周期管理。

核心功能

定义和运行多容器应用:通过docker-compose.yml文件,用户可以定义多个容器的配置信息,包括容器之间的依赖关系、网络配置、数据卷管理等。然后,只需一个命令(如docker-compose up),就可以创建并启动所有定义的容器。

容器编排:Docker Compose支持容器的编排,可以根据容器的依赖关系自动启动和停止容器,确保应用在运行时具有正确的环境。

网络配置:Docker Compose支持自定义网络配置,使得容器之间的通信更加灵活和可靠。服务之间可以通过网络通信,Compose会自动创建网络。

数据卷管理:Docker Compose支持数据卷的挂载和管理,可以轻松地共享和持久化容器数据。

docker-compose.yml 文件

docker-compose.yml 文件是 Docker Compose 的核心配置文件,用于定义和运行多容器 Docker 应用程序。

这个文件遵循 YAML格式,包含了一系列关于服务、网络、卷等配置的信息。

以下是一个基本的 docker-compose.yml 文件示例,以及一些关键字段的解释:

version: '3.8'  # 指定 Compose 文件的格式版本
services:  # 定义服务(容器)的列表web:image: nginx:latest  # 指定容器使用的镜像ports:- "80:80"  # 将主机的80端口映射到容器的80端口volumes:- ./html:/usr/share/nginx/html  # 将主机的./html目录挂载到容器的/usr/share/nginx/html目录networks:- mynetwork  # 指定容器使用的网络db:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: example  # 设置环境变量volumes:- db_data:/var/lib/mysql  # 使用命名卷存储数据库数据networks:- mynetwork
networks:  # 定义自定义网络mynetwork:driver: bridge  # 使用桥接网络模式
volumes:  # 定义命名卷db_data:

在这个示例中:

version 字段指定了 Compose 文件的版本。不同版本的 Compose 文件支持不同的配置选项。(最新版本使用的是name,version已经被舍弃)
services 字段下定义了一个或多个服务(容器)。在这个例子中,定义了两个服务:web 和 db。
image 字段指定了容器使用的 Docker 镜像。
ports 字段定义了端口映射。
volumes 字段用于数据持久化或数据共享,可以挂载主机目录到容器目录,或使用命名卷。
environment 字段用于设置环境变量。
networks 字段指定了容器使用的网络。
networks 字段定义了一个或多个自定义网络。在这个例子中,定义了一个名为 mynetwork 的桥接网络。
volumes 字段定义了一个或多个命名卷。在这个例子中,定义了一个名为 db_data 的卷,用于存储 MySQL 数据库的数据。

注意,YAML 文件对缩进非常敏感,因此请确保每个字段都正确缩进。

此外,根据实际需求,您可以添加更多配置选项或自定义服务、网络和卷。

详细参考官方文档:https://docs.docker.com/reference/compose-file/version-and-name/

docker compose 常用命令

docker-compose up:创建并启动容器。
docker-compose down:停止并删除容器、网络和卷(如果使用–volumes选项)。
docker-compose start:启动服务。
docker-compose stop:停止服务。
docker-compose restart:重启服务。
docker-compose logs:查看容器日志。
docker-compose ps:列出所有容器。
docker-compose config:检查docker-compose.yml文件的配置。

创建 compose 文件

image

http://www.zskr.cn/news/51119.html

相关文章:

  • 2025年比较好的DVS事件相机厂家推荐及选择指南
  • 2025年评价高的主被动隔振应用场景厂家最新实力排行
  • 【Linux运维实战】彻底修复 CVE-2011-5094 漏洞 - 实践
  • 2025年口碑好的模拟地震振动台高评价厂家推荐榜
  • 关于历史和线段树
  • ANGR(符号执行)学习笔记
  • 2025年比较好的花边纸布优质厂家推荐榜单
  • 2025年靠谱的精密冲床厂家推荐及选择参考
  • 2025年口碑好的食品铁罐用户好评厂家排行
  • 2025年口碑好的巡检机器人厂家推荐及选择指南
  • idea:打开黑屏
  • 110.计组--五章
  • 2025年比较好的大型工业油压机品牌厂家排行榜
  • 2025年比较好的钢结构岗亭厂家最新权威推荐排行榜
  • CSP-J/S 2025 赛题重做与反思
  • MATLAB实现机械臂GUI仿真系统
  • 2025年热门的密封箱式多用炉用户好评厂家排行
  • 2025年质量好的家用香氛五金厂家最新实力排行
  • 2025 年 11 月滚珠花键厂家推荐排行榜:圆筒形滚珠花键,法兰型滚珠花键,新型滚珠花键公司精选
  • 实用指南:LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
  • 2025年口碑好的大连装修设计专业测评推荐排行
  • 2025年靠谱的装修品质保障榜
  • 2025年质量好的自动点胶阀厂家最新推荐权威榜
  • 今年国内可靠的安全检测检验企业
  • 2025年热门的心理咨询室产品高配置系统集成榜
  • 2025年热门的电动液压缸厂家最新权威实力榜
  • 2025年口碑好的自动一次成型挂面机行业内口碑厂家排行榜
  • 2025年耐用的防泼水单层网布热门厂家推荐榜单
  • 《重生之我成为世界顶级黑客》第二章:重走前路?不,这是新的开始
  • 2025年知名的止水螺杆实力厂家TOP推荐榜