gpt4 book ai didi

docker - Docker撰写-services.vulcain.ports包含无效的类型,应为数字或对象

转载 作者:行者123 更新时间:2023-12-02 21:30:55 28 4
gpt4 key购买 nike

我正在使用Symfonydocker,并且相信我在设置这两个时出错,这使我在docker compose中遇到了这个错误:services.vulcain.ports contains an invalid type, it should be a number, or an object在运行docker compose命令时:dc exec php vendor/bin/simple-phpunit --filter 'App\\Tests\\EntityTests::testName'我会精确说明我的文件夹体系结构可能是问题所在:
我有一个/project文件夹,它是项目的路线
其中有两个文件夹/frontend/backend,再加上此脚本可以前后启动:

#!/bin/bash

docker-compose -f backend/docker-compose.yml up -d ;
docker-compose -f frontend/docker-compose.yml up -d ;
/frontend与我无关,我从 /api fodler启动了命令
其中自己包含 /docker(带有dockerfile)和 /api文件夹以及我的docker-compose。
我的 docker-compose来自api平台文档:
version: '3.4'

x-cache-from:
- &api-cache-from
cache_from:
- ${NGINX_IMAGE:-quay.io/api-platform/nginx}
- ${PHP_IMAGE:-quay.io/api-platform/php}

services:
php:
build:
context: ./api
target: api_platform_php
<<: *api-cache-from
image: ${PHP_IMAGE:-quay.io/api-platform/php}
healthcheck:
interval: 10s
timeout: 3s
retries: 3
start_period: 30s
depends_on:
- db
- dev-tls
volumes:
- ./api:/srv/api:rw,cached
- ./api/docker/php/conf.d/api-platform.dev.ini:/usr/local/etc/php/conf.d/api-platform.ini
- dev-certs:/certs:ro,nocopy
networks:
- symfony

api:
build:
context: ./api
target: api_platform_nginx
<<: *api-cache-from
image: ${NGINX_IMAGE:-quay.io/api-platform/nginx}
depends_on:
- php
volumes:
- ./api/public:/srv/api/public:ro
networks:
- symfony

vulcain:
image: dunglas/vulcain
environment:
- CERT_FILE=/certs/localhost.crt
- KEY_FILE=/certs/localhost.key
- UPSTREAM=http://api
depends_on:
- api
- dev-tls
volumes:
- dev-certs:/certs:ro,nocopy
ports:
- ${VULC_TARGET}:${VULC_PUBLISHED}
networks:
- symfony

db:
image: postgres:12-alpine
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
volumes:
- db-data:/var/lib/postgresql/data:rw
ports:
- "${DB_TARGET}:${DB_PUBLISHED}"
networks:
- symfony

mercure:
image: dunglas/mercure
environment:
- ALLOW_ANONYMOUS=1
- CERT_FILE=/certs/localhost.crt
- CORS_ALLOWED_ORIGINS=*
- DEMO=1
- JWT_KEY=${JWT_KEY}
- KEY_FILE=/certs/localhost.key
- PUBLISH_ALLOWED_ORIGINS=https://localhost:1337
depends_on:
- dev-tls
volumes:
- dev-certs:/certs:ro,nocopy
ports:
- "${MERC_TARGET}:${MERC_PUBLISHED}"
networks:
- symfony

dev-tls:
build:
context: ./docker/dev-tls
volumes:
- dev-certs:/certs:rw
ports:
- target: 80
published: 80
protocol: tcp
networks:
- symfony

volumes:
db-data: {}
dev-certs: {}

networks:
symfony:
driver: bridge
和错误:
ERROR: The Compose file './../docker-compose.yml' is invalid because:
services.db.ports contains an invalid type, it should be a number, or an object
services.mercure.ports contains an invalid type, it should be a number, or an object
services.vulcain.ports contains an invalid type, it should be a number, or an object
来源于我精确调整docker-compose中的端口的方式,因为它们来自位于 /backend文件夹中的.env文件,并且我正在执行comand并位于 /api文件夹中的下一个文件夹。
但是,如果我从 /backend执行相同的命令,则会收到以下消息:
Time: 115 ms, Memory: 6.00 MB

No tests executed!

Other deprecation notices (1)

1x: Since symfony/dotenv 5.1: Passing a boolean to the constructor of "Symfony\Component\Dotenv\Dotenv" is deprecated, use "Dotenv::usePutenv()".
1x in Dotenv::__construct from Symfony\Component\Dotenv

任何人都不知道该如何解决?

最佳答案

当您触发“docker-compose up”时,您可能还会收到以下警告:

kalou@shinwey:~/t$ docker-compose  up
WARNING: The VULC_TARGET variable is not set. Defaulting to a blank string.
WARNING: The VULC_PUBLISHED variable is not set. Defaulting to a blank string.
WARNING: The DB_TARGET variable is not set. Defaulting to a blank string.
WARNING: The DB_PUBLISHED variable is not set. Defaulting to a blank string.
WARNING: The MERC_TARGET variable is not set. Defaulting to a blank string.
WARNING: The MERC_PUBLISHED variable is not set. Defaulting to a blank string.
ERROR: The Compose file './docker-compose.yml' is invalid because:

services.db.ports contains an invalid type, it should be a number, or an object
services.mercure.ports contains an invalid type, it should be a number, or an object
services.vulcain.ports contains an invalid type, it should be a number, or an object
必须在“docker-compose up”命令之前设置这6个变量。

关于docker - Docker撰写-services.vulcain.ports包含无效的类型,应为数字或对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64499521/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com