【问题标题】:Docker compose invalide typeDocker 组成无效类型
【发布时间】:2022-12-03 08:08:34
【问题描述】:

我想在本地创建一个 postgresql 数据库,但我不明白这个问题。

在我的 .env POSTGRESQL_ADDON_DB='test' 中,它是一个字符串,那么为什么我有这个错误?你能帮我吗

我的 docker-compose.yaml :

version: "3.9"
services:
  app:
    build: .
    user: 'node'
    restart: always
    container_name: ${COMPOSE_PROJECT_NAME}-app
    working_dir: /usr/app/
    command: npm run start:dev
    ports:
      - 8080:8080
    volumes:
      - .:/usr/app
      - /usr/app/node_modules
    env_file:
      - fileName.env
    depends_on:
      - postgres
  
  postgres:
    image: postgres:11-alpine
    container_name: ${COMPOSE_PROJECT_NAME}-postgres
    environment:
      - POSTGRES_DB: ${POSTGRESQL_ADDON_DB}
      - POSTGRES_USER: ${POSTGRESQL_ADDON_USER}
      - POSTGRES_PASSWORD: ${POSTGRESQL_ADDON_PASSWORD}
    ports:
      - 5432:5432
    volumes:
      - postgres:/var/lib/postgresql/data

  pgadmin:
    image: dpage/pgadmin4:latest
    container_name: ${COMPOSE_PROJECT_NAME}-pgadmin
    restart: always
    environment:
      - PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}
      - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD}
      - PGADMIN_LISTEN_PORT=80
      - GUNICORN_ACCESS_LOGFILE='/dev/null'
      - PGADMIN_CONFIG_UPGRADE_CHECK_ENABLED='false'
    ports:
      - 80:80
      - 443:443
    volumes:
      - pgadmin-data:/var/lib/pgadmin
    logging:
      driver: none
    depends_on:
      - postgres

volumes:
  pg-data:
  pgadmin-data:



问题 : ERROR: The Compose file './docker-compose.yaml' is invalid because: services.postgres.environment contains {"POSTGRES_DB": "test"}, which is an invalid type, it should be a string

我已经尝试放置一个静态值`

environment:
      - POSTGRES_DB: 'test'

但没有任何改变

【问题讨论】:

    标签: postgresql docker docker-compose


    【解决方案1】:

    看起来问题是您将 POSTGRES_DB 环境变量定义为数组,但它应该是一个字符串。在您的 docker-compose.yaml 文件中,您需要更改此行:

    environment:
      - POSTGRES_DB: ${POSTGRESQL_ADDON_DB}
    

    对此:

    environment:
      POSTGRES_DB: ${POSTGRESQL_ADDON_DB}
    

    请注意,我删除了 POSTGRES_DB 之前的 - ,这是导致错误的原因。当您在 Docker Compose 文件中定义环境变量时,每个变量都应该在其自己的行上,开头没有 - 。

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多