最近,我在我的 Ubuntu 机器上从官方网站安装了最新版本的 Docker 和 Docker Compose。使用后,docker-compose config
我得到了以下输出:
name: docker
services: {}
我也尝试过docker-compose config --services
,但没有输出,尽管docker-compose config --profiles
在 Compose 文件中列出了配置文件。如果我尝试使用该命令运行所有服务docker-compose up -d
,它会显示“未选择服务”。
我已将当前用户添加到 docker 组,并尝试使用root用户执行相同的命令,但没有用。
ubuntu@my-ec2-server$ docker --version
Docker version 28.0.4, build b8034c0
ubuntu@my-ec2-server$ docker-compose --version
Docker Compose version v2.34.0
这是我的docker-compose.yml
文件:
services:
################################| Utility |################################
utility:
build:
context: ./utility
dockerfile: Dockerfile
image: utility:latest
container_name: utility
profiles: ["utility","all"]
volumes:
- ./utility/certs:/app/certs
- ./utility/secrets:/app/secrets
ports:
- 3001:3000
env_file:
- ./.env/.utility.env
################################| Reports |################################
reports:
build:
context: ./analytics_reports
dockerfile: Dockerfile
image: reports:latest
container_name: reports
profiles: ["reports","all"]
ports:
- 3002:3000
env_file:
- ./.env/.reports.env
################################| Backend API |################################
supplier-backendapi:
build:
context: ./backend_api-supplier
dockerfile: Dockerfile
image: supplier_configuration:latest
container_name: api-supplier
profiles: ["backend-api","all"]
ports:
- 3003:3000
env_file:
- ./.env/.supplier.env
voucher-backendapi:
build:
context: ./backend_api-voucher
dockerfile: Dockerfile
image: voucher:latest
container_name: api-voucher
profiles: ["backend-api","all"]
ports:
- 3004:3000
env_file:
- ./.env/.voucher.env
您的
docker-compose.yaml
包含配置文件,并且您的所有服务都与其中一个或多个配置文件相关联。这意味着没有服务可以在没有
--profile
在命令行上设置的情况下运行。由于docker(-| )compose config
它应该根据给定的标志渲染实际配置,因此一个简单的会给你你得到的结果,而设置配置文件将产生你想要的响应
你试过用“docker compose”吗?不是“docker-compose”,它已经过时了。