【问题标题】:How to pass config parameter 'url' to Strapi running in Docker如何将配置参数“url”传递给在 Docker 中运行的 Strapi
【发布时间】:2021-07-13 16:20:27
【问题描述】:

https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/configurations.html,有一个配置参数'url'来设置服务器的公共URL。

在 Docker 容器中运行 Strapi 时,有没有办法为“url”参数传递一个值?

也许通过 docker-compose.yml 中的环境变量?

version: '3'
services:
  strapi:
    image: strapi/strapi
    environment:
      DATABASE_CLIENT: mysql
      DATABASE_HOST: mysql
      DATABASE_PORT: 3306
      DATABASE_NAME: strapi
      DATABASE_USERNAME: strapi
      DATABASE_PASSWORD: strapi
      DATABASE_SSL: 'false'
    volumes:
      - ./app:/srv/app
    ports:
      - '1337:1337'
    depends_on:
      - mysql

【问题讨论】:

    标签: docker docker-compose strapi


    【解决方案1】:

    刚刚在 /app/config/server.js 的本地计算机上(不是在 docker 容器中)找到服务器配置,并在那里为“url”添加了一个值:

    module.exports = ({ env }) => ({
      host: env('HOST', '0.0.0.0'),
      port: env.int('PORT', 1337),
      url: env('PUBLIC_URL', 'https://example.com/strapi'),
      admin: {
        auth: {
          secret: env('ADMIN_JWT_SECRET', 'mysecret'),
        },
      },
    });
    

    【讨论】:

    • 正确的方法是在项目的根目录下创建一个.env文件。如您所见,配置文件有一个 env 参数。这用于自动从 .env 文件中读取所有变量。因此,只需创建一个 .env 文件,该文件将被转移到 docker 容器中并将所有变量放入其中。前任。 PUBLIC_URL=https://example.com/strapi
    猜你喜欢
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多