都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的安装
322 0
 【愚公系列】2022年05月 Docker容器 Windows11上MongoDB的安装
|
消息中间件 Kafka Docker
【愚公系列】2022年03月 Docker容器 Kafka集群的搭建
【愚公系列】2022年03月 Docker容器 Kafka集群的搭建
374 0
【愚公系列】2022年03月 Docker容器 Kafka集群的搭建
|
Oracle 关系型数据库 数据库
【愚公系列】2022年02月 Docker容器 Oracle的搭建
【愚公系列】2022年02月 Docker容器 Oracle的搭建
440 0
【愚公系列】2022年02月 Docker容器 Oracle的搭建
|
6天前
|
关系型数据库 MySQL API
|
6天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
137 6
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
2天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
2天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
2天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
下一篇
无影云桌面