5.使用Docker_Compose部署

Docker Compose简化了多服务应用的部署和管理,通过YAML文件定义容器间的依赖和服务,一键部署并能进行生命周期管理。本文介绍了Docker Compose的背景、安装方法(包括Mac和Linux)、YAML文件配置以及应用的部署和管理操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Docker Compose部署

1.简介

多数现代应用都是由多个更小的服务协调工作而成的,比如:

  1. WEB 前端
  2. 订单管理
  3. 品类管理‘
  4. 后台数据库

多服务的部署和管理是困难的,Docker Compose可以解决这个问题,其通过一个声明式的配置文件描述整个文件,并通过一条命令完成部署,应用部署成功后,可以通过简单命令对其进行完整生命周期的管理。

2.docker Compose背景

docker Compose是一个需要在docker主机上进行安装的外部python工具,使用时,首先编写定义多容器的YAML文件,然后交给docker-compose命令处理,docker Compose就会基于docker引擎API完成应用部署

3.docker Compose安装

3.1 mac

无需额外安装,安装DfM后也就安装了docker compose

3.2 linux
  1. 下载二进制文件

    curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
  2. 修改文件权限

    chmod +x /usr/local/bin/docker-compose
    
  3. 检查安装情况

    docker-compose --version
    

4. docker Compose 部署应用

实例地址:https://github.com/nigelpoulton/counter-app

4.1 YAML文件
version: "3.5"
services:
  web-fe:
    build: .
    command: python app.py
    ports:
      - target: 5000
        published: 5000
    networks:
      - counter-net
    volumes:
      - type: volume
        source: counter-vol
        target: /code
  redis:
    image: "redis:alpine"
    networks:
      counter-net:

networks:
  counter-net:

volumes:
  counter-vol:
  1. version

    定义Compose文件格式版本,建议使用最新

  2. services

    用于定义不同的应用服务,上面的例子中是一个前端服务和一个redis数据库服务,将每个服务部署在各自的容器中

  3. networks

    用于指引docker创建新的网络,默认情况下会创建bridge单主机网络实现同一主机上的容器链接,可以使用driver属性来指定网络的类型

    # 允许独立容器链接在创建的名为over-net的overlay网络上
    networks:
       over-net:
       driver:overlay
       attachable:true
    
  4. volumes

    用来指引docker建立新的卷

  5. service的三级key:

    build:基于当前目录构建镜像,一般当前目录下也存在Dockerfile文件,指示某服务如何构建

    command:指定运行某程序作为主程序

    ports:指定主机与docker的端口映射

    networks:使docker接入网络

    volumes:指定将卷挂载到容器内目录

4.2 部署

  1. 启动: docker-compose up &

    默认情况下开始查找名为docker-compose.yml的文件,如果文件时是其他名字,需要在命令中使用-f指定

  2. 使用docker image ls查看

5.docker Compose管理应用

  1. 停止和关闭应用:docker-compose down

  2. 查看状态:docker-compose ps

  3. 查看各服务(容器)内运行的进程:docker-compose top

  4. 停止运行保留资源:docker-compose stop

  5. 重启应用:docker-compose restart

  6. 更新:所有对卷中源码的修改会立即显示在容器内的卷里

    更改源码

    查找挂载点:docker volume inspect |grep Mount

    将代码复制进去完成更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值