docker compose

Blog Author · 1 分钟 阅读时间
发布于 2025年12月10日

docker compose 简介

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose 可以使用 YML 文件来配置应用程序需要的所有服务。然后通过一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Compose 的使用步骤

  • 使用 Dockfile 定义应用程序的环境
  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行
  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序
  • 常用命令

    
        -- 启动应用程序(以依赖的顺序启动服务)
    docker-compose up
    
    -- 后台启动应用程序
    docker-compose up -d
    
    -- 指定yml文件,后台启动应用程序
    docker compose -f docker-compose.yml up --detach
    
    -- 启动指定服务(自动包含 SERVICE 的依赖项)
    docker-compose up SERVICE
    
    -- 按照依赖关系顺序停止服务
    docker-compose stop
    
      

    docker-compose 参数配置

    ports

    ports 暴露容器端口到主机的任意端口或指定端口 用法:

    
        ports:
      - "80:80"         # 绑定容器的80端口到主机的80端口
      - "9000:80"       # 绑定容器的80端口到主机的9000端口
      - "443"           # 绑定容器的443端口到主机的任意端口,容器启动时随机分配绑定的主机端口号
    
      

    不管是否指定主机端口,使用 ports 都会将端口暴露给主机和其他容器

    expose

    expose 暴露容器给 link 到当前容器的容器,或者暴露给同一个 networks 的容器 用法

    
        expose:
      - "3000"
      - "8000"
    
      

    以上指令将当前容器的端口3000和8000暴露给其他容器。

    expose 和 ports 的区别是,expose 不会将端口暴露给主机,主机无法访问 expose 的端口。
    Share: