XingPiaoLiang's

Back

Docker-Compose#

Docker compose 可以定义和运行多个容器的应用程序,可以在一个 YAML 文件中管理多个内容,包括 servicesnetworkvolumes。通过一个命令就可以创建并运行预定义好的所有 services

docker compose 包括了掌握整个应用程序的生命周期的命令:

  • Start, stop, and rebuild services

  • View the status of running services

  • Stream the log output of running services

  • Run a one-off command on a service

    在某一个容器 service 中临时运行一个命令,运行完之后就直接退出。

    docker compose run web python manage.py migrate # 在 web 服务中运行之后的命令 python manage.py migrate 之后退出
    bash

Compose Spec#

一个简单的 Compose Sec 文件示例:

name: myqpp

services:
  frontend:
    image: example/webapp
    ports:
      - "443:8043"
    networks:
      - front-tier
      - back-tier
    configs:
      - httpd-config
    secrets:
      - server-certificate

  backend:
    image: example/database
    volumes:
      - db-data:/etc/data
    networks:
      - back-tier

volumes:
  db-data:
    driver: flocker
    driver_opts:
      size: "10GiB"

configs:
  httpd-config:
    external: true

secrets:
  server-certificate:
    external: true

networks:
  # The presence of these objects is sufficient to define them
  front-tier: {}
  back-tier: {}
yaml

其中定义了两个 service,包括 frontend 以及 backend,以及相应的挂载 volumes 和 网络 front-tier back-tier

rk8s 实现类 docker-compose 功能#

浅探 docker-compose 设计理念思想
https://astro-pure.js.org/blog/docker-compose
Author erasernoob
Published at June 20, 2025
Comment seems to stuck. Try to refresh?✨