小编Ric*_*ic0的帖子

如何在单个Docker容器中传递运行Prisma服务器的环境变量

文档中包含的docker-compose.yml示例非常适合本地开发,在本地开发中,人们可能使用docker运行多个服务:

version: '3'
services:
  prisma:
    image: prismagraphql/prisma:__LATEST_PRISMA_VERSION__
    restart: always
    ports:
    - "4466:4466"
    environment:
      PRISMA_CONFIG: |
        managementApiSecret: __YOUR_MANAGEMENT_API_SECRET__
        port: __YOUR_PRISMA_SERVER_PORT__
        databases:
          default:
            connector: __YOUR_DATABASE_CONNECTOR__
            migrations: __ENABLE_DB_MIGRATIONS__
            host: __YOUR_DATABASE_HOST__
            port: __YOUR_DATABASE_PORT__
            user: __YOUR_DATABASE_USER__
            password: __YOUR_DATABASE_PASSWORD__
  mongo:
    image: mongo:__LATEST_PRISMA_VERSION__
    restart: always
    ports:
    - "27017:27017"
    volumes:
      - mongo:/var/lib/mongo
Run Code Online (Sandbox Code Playgroud)

但是,在生产中,没有db在容器中运行。实际上,我们正在使用DBaaS来托管数据库。我们正在使用的数据库是Mongo。

因此,我们需要将Prisma服务器从切换docker-compose updocker run...

我们面临的问题是如何设置Prisma容器运行所需的所有环境变量。

我看到两个可能的选择:

  1. 将单个变量传递给容器
  2. 仅传递PRISMA_CONFIG_PATH指向yml配置文件的变量,例如,prisma_config.yml

选项1

在docker-compose.yml中,该PRISMA_CONFIG变量作为多行字符串传递。

在Internet上搜索时,我发现单个变量的对应列表应为:

      PORT: $PORT
      SCHEMA_MANAGER_SECRET: $SCHEMA_MANAGER_SECRET
      SCHEMA_MANAGER_ENDPOINT: $SCHEMA_MANAGER_ENDPOINT
      SQL_CLIENT_HOST_CLIENT1: $SQL_CLIENT_HOST
      SQL_CLIENT_HOST_READONLY_CLIENT1: $SQL_CLIENT_HOST
      SQL_CLIENT_HOST: $SQL_CLIENT_HOST
      SQL_CLIENT_PORT: $SQL_CLIENT_PORT
      SQL_CLIENT_USER: $SQL_CLIENT_USER …
Run Code Online (Sandbox Code Playgroud)

yaml docker graphql prisma prisma-graphql

5
推荐指数
0
解决办法
653
查看次数

标签 统计

docker ×1

graphql ×1

prisma ×1

prisma-graphql ×1

yaml ×1