都2022年了,你还在玩docker-compose吗?

简介: 都2022年了,你还在玩docker-compose吗?

Docker-compose overview

文章目录

1. 简介

docker-ompose 是一个用于定义和运行多容器 Docker 应用程序的工具。使用 docker-compose,您可以使用 YAML 文件来配置应用程序的服务。然后,使用一个命令,您可以从您的配置中创建并启动所有服务。


docker-compose 适用于所有环境:生产、登台、开发、测试以及 CI 工作流程。

2. 使用步骤

用 docker-compose 基本上是一个三步过程:


使用 a 定义您的应用程序的环境,Dockerfile以便可以在任何地方复制它。

定义构成您的应用程序的服务,docker-compose.yml 以便它们可以在隔离环境中一起运行。

运行docker compose up,Docker compose 命令启动并运行您的整个应用程序。您也可以docker-compose up使用 docker-compose 二进制文件运行。

docker-compose.yml

version: "3.9"  # optional since v1.27.0
services:
  web:
    build: .
    ports:
      - "8000:5000"
    volumes:
      - .:/code
      - logvolume01:/var/log
    links:
      - redis
  redis:
    image: redis
volumes:
  logvolume01: {}

3. 生命周期

docker-compose 具有用于管理应用程序整个生命周期的命令:

  1. 启动、停止和重建服务
  2. 查看运行服务的状态
  3. 流式传输正在运行的服务的日志输出
  4. 在服务上运行一次性命令

4. 特色

docker-compose 使其有效的特点是:


单个主机上的多个隔离环境

docker-compose 使用项目名称将环境彼此隔离。您可以在几个不同的上下文中使用此项目名称:


在开发主机上,创建单个环境的多个副本,例如当您想要为项目的每个功能分支运行稳定副本时


在 CI 服务器上,为了防止构建相互干扰,您可以将项目名称设置为唯一的构建号

在共享主机或开发主机上,以防止可能使用相同服务名称的不同项目相互干扰

默认项目名称是项目目录的基本名称。您可以使用 -p命令行选项或 COMPOSE_PROJECT_NAME环境变量设置自定义项目名称。

默认项目目录是 docker-compose 文件的基本目录。可以使用--project-directory命令行选项定义它的自定义值。


创建容器时保留卷数据

docker-compose 会保留您的服务使用的所有卷。运行时docker-compose up ,如果它找到以前运行的任何容器,它会将卷从旧容器复制到新容器。此过程可确保您在卷中创建的任何数据都不会丢失。


仅重新创建已更改的容器

docker-compose 缓存用于创建容器的配置。当您重新启动未更改的服务时,docker-compose 会重新使用现有容器。重复使用容器意味着您可以非常快速地更改您的环境。


变量和在环境之间移动组合

docker-compose 支持 docker-compose 文件中的变量。您可以使用这些变量为不同的环境或不同的用户定制您的组合。有关详细信息,请参阅变量替换。


extends您可以使用该字段或通过创建多个 docker-compose 文件来扩展docker-compose 文件


相关文章
|
存储 负载均衡 Kubernetes
2022年 Docker Swarm还有什么存在的意义 ?
2022年 Docker Swarm还有什么存在的意义 ?
2022年 Docker Swarm还有什么存在的意义 ?
这可能是2022年把微服务讲的最全了:SpringBoot+Cloud+Docker
前言 最近几年,微服务可谓是大行其道。在业务模型不完善,超大规模流量的冲击的情况下,许多企业纷纷抛弃了传统的单体架构,拥抱微服务。这种模式具备独立开发、独立部署、可扩展性、可重用性的优点的同时,也带来这样一个问题:开发、运维的复杂性提高。有人感觉微服务越做越不方便管理。
|
NoSQL Linux MongoDB
【愚公系列】2022年05月 Docker容器 Windows11上MongoDB的安装
【愚公系列】2022年05月 Docker容器 Windows11上MongoDB的安装
330 0
 【愚公系列】2022年05月 Docker容器 Windows11上MongoDB的安装
|
消息中间件 Kafka Docker
【愚公系列】2022年03月 Docker容器 Kafka集群的搭建
【愚公系列】2022年03月 Docker容器 Kafka集群的搭建
380 0
【愚公系列】2022年03月 Docker容器 Kafka集群的搭建
|
Oracle 关系型数据库 数据库
【愚公系列】2022年02月 Docker容器 Oracle的搭建
【愚公系列】2022年02月 Docker容器 Oracle的搭建
450 0
【愚公系列】2022年02月 Docker容器 Oracle的搭建
|
8天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
132 77
|
17天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
10天前
|
数据建模 应用服务中间件 nginx
docker替换宿主与容器的映射端口和文件路径
通过正确配置 Docker 的端口和文件路径映射,可以有效地管理容器化应用程序,确保其高效运行和数据持久性。在生产环境中,动态替换映射配置有助于灵活应对各种需求变化。以上方法和步骤提供了一种可靠且易于操作的方案,帮助您轻松管理 Docker 容器的端口和路径映射。
44 3
|
17天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
50 7
|
17天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
27 5