容器编排工具Docker Compose

目录

一、Docker Compose概述

        1、主要功能

        2、工作原理

二、常用命令参数

1、服务管理

2、构建和重新构建服务

三、Docker Compose的yml文件

1、服务

2、网络

3、存储卷

四、容器编排实现haproxy和nginx负载均衡


一、Docker Compose概述

1、主要功能
  1. 定义服务: 使用 YAML 格式的配置文件来定义一组相关的容器服务。每个服务可以指定镜像、端口映射、 环境变量、存储卷等参数。 例如,可以在配置文件中定义一个 Web 服务和一个数据库服务,以及它们之间的连接关系。

  2. 一键启动和停止: 通过一个简单的命令,可以启动或停止整个应用程序所包含的所有容器。这大大简化了多容器 应用的部署和管理过程。 例如,使用 docker-compose up 命令可以启动配置文件中定义的所有服务,使用 dockercompose down 命令可以停止并删除这些服务。

  3. 服务编排: 可以定义容器之间的依赖关系,确保服务按照正确的顺序启动和停止。例如,可以指定数据库 服务必须在 Web 服务之前启动。 支持网络配置,使不同服务的容器可以相互通信。可以定义一个自定义的网络,将所有相关的 容器连接到这个网络上。

  4. 环境变量管理: 可以在配置文件中定义环境变量,并在容器启动时传递给容器。这使得在不同环境(如开发、 测试和生产环境)中使用不同的配置变得更加容易。 例如,可以定义一个数据库连接字符串的环境变量,在不同环境中可以设置不同的值。

2、工作原理

Docker Compose 的工作原理是通过一个 YAML 配置文件定义一组相关的 Docker 容器服务,它读取配置文件后,根据其中指定的服务信息,如镜像、端口映射、环境变量、依赖关系等,依次创建和启动各个容器,并管理容器之间的网络连接和数据共享,确保整个应用系统按照预定的配置协同工作。

二、常用命令参数

[root@docker-node1 ~]# vim ~/.vimrc
set ts=2 ai sw=2 et
#yml有严格缩进
[root@docker-node1 ~]# vim  /root/test/docker-compose.yml
version: "1.0"
services:
  web:
    image: nginx
    ports:
      - "80:80"


  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: leo

1、服务管理

docker compose up 

启动配置文件中定义的所有服务。

可以使用 -d 参数在后台启动服务。

可以使用-f 来指定yml文件。

例如: docker-compose up -d

[root@docker-node1 test]# docker compose up -d
[root@docker-node1 test]# docker compose -f /root/test/docker-compose.yml up -d

停止并删除配置文件中定义的所有服务以及相关的网络和存储卷

[root@docker-node1 test]# docker compose down

docker compose start : 启动已经存在的服务,但不会创建新的服务

[root@docker test]# docker compose start

docker compose stop : 停止正在运行的服务

[root@docker test]# docker compose stop

docker compose restart : 重启服务

[root@docker test]# docker compose restart

docker compose ps : 列出正在运行的服务以及它们的状态,包括容器 ID、名称、端口映射等信息

docker compose logs : 查看服务的日志输出。可以指定服务名称来查看特定服务的日志

2、构建和重新构建服务

“docker compose up” 用于创建并启动由 Compose 文件定义的服务,而 “docker compose build” 用于构建服务所使用的镜像。

[root@docker-node1 test]# vim /root/docker/Dockerfile
FROM busybox:latest
RUN touch /file1
[root@docker-node1 test]# vim /root/docker/leo
FROM busybox:latest
RUN touch /file2

[root@d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值