首页 > 解决方案 > 从 docker-compose 启动特定服务

问题描述

我是 Docker 新手,并且有 docker-compose.yml,其中包含许多服务,我需要启动一项特定服务。我有包含信息的 docker-compose.yml 文件:

version: '2'

services:
    
    postgres:
        image: ${ARTIFACTORY_URL}/datahub/postgres:${BUILD_NUMBER}
        restart: "no"
        volumes:
            - /etc/passwd:/etc/passwd
            

        volumes_from:
            - libs
        depends_on:
            - libs

    setup:
        image: ${ARTIFACTORY_URL}/setup:${B_N}
        restart: "no"
        volumes:
            - ${HOME}:/usr/local/

我可以使用命令调用 docker-compose.yml 文件:

docker-compose -f docker-compose.yml up -d --no-build

但我需要在 docker-compose 文件中启动“设置服务”:

我怎样才能做到这一点?

标签: dockerdocker-composedockerfile

解决方案


这很容易:

docker compose up <service-name>

在你的情况下:

docker compose -f docker-compose.yml up setup -d

要停止服务,则无需指定服务名称:

docker compose down

会做。

小注:如果您在docker-compose.yml文件所在的目录中,则 docker-compose 将隐式使用它,无需将其添加为参数。您需要在以下情况下提供它:

  • 该文件不在您的当前目录中
  • 文件名与默认文件名不同,例如。myconfig.yml

推荐阅读