我是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文件中启动“设置服务”
我该怎么做?
答案 0 :(得分:1)
据我所知,您在docker-compose中有多种服务,但只想部署其中一项。
docker-compose应该用于多容器Docker应用程序。来自官方docs:
Compose是用于定义和运行多容器Docker的工具 应用程序。
恕我直言,您应该使用docker run命令单独运行服务映像。
PS :如果您要在docker-compose文件的多个服务中仅重新创建映像已更改的容器,则docker-compose会为您处理。
答案 1 :(得分:0)
我不同意,docker compose 只能用于启动您的部分服务,而不是所有服务。
很简单:
docker compose up <service-name>
就你而言:
docker compose -f docker-compose.yml up setup -d
要停止服务,则不需要指定服务名称:
docker compose down
会做的。
小贴士:如果你在docker-compose.yml
文件所在的目录下,那么docker-compose会隐式使用它,不需要加参数。
您需要在以下情况下提供: