【问题标题】:Strapi develop --watch admin Docker | Admin not foundStrapi 开发--watch admin Docker |找不到管理员
【发布时间】:2021-08-31 00:22:14
【问题描述】:

我是 Strapi 的新手,目前正在尝试使用 docker 设置项目。当我使用 "strapi develop" 时,一切正常。一旦我开始“strapi develop --watch admin”,我就会在 /admin/ 下得到 404

码头工人撰写

version: '2'
services:
  app:
    restart: "no"
    image: '${DOCKER_BASE_IMAGE}:${DOCKER_BASE_TAG}-dev'
    container_name: '${COMPOSE_PROJECT_NAME}'
    depends_on:
      - data
      - mysql
      - import
    ports:
      - "${APP_IP}:1337:1337"
      - "${APP_IP}:8000:8000"
    env_file:
      - .env
    environment:
      - 'APP_MYSQL_HOST=${COMPOSE_PROJECT_NAME}-mysql'
    volumes:
      - ${APP_SSH_DIR}:/home/ssh-labor/.ssh
      - ${APP_WORKING_DIR}:/var/www/html
      - ${APP_LOG_DIR}:/var/www/logs
      - ${APP_OPT_DIR}/bootstrap.sh:/opt/project/bootstrap.sh
      - ${APP_OPT_DIR}/build.sh:/opt/project/build.sh
      - ${APP_OPT_DIR}/development.sh:/opt/project/development.sh
      - ${APP_OPT_DIR}/directories.sh:/opt/project/directories.sh
      - ${APP_OPT_DIR}/permissions.sh:/opt/project/permissions.sh
      - ${APP_ROOT_DIR}/.env.app:/opt/.env.app
    volumes_from:
      - data
    networks:
      - dev-network
  mysql:
    restart: "no"
    container_name: '${COMPOSE_PROJECT_NAME}-mysql'
    image: 'mariadb:10.5.10'
    env_file:
      - .env
    ports:
      - "${APP_IP}:3306:3306"
    networks:
      - dev-network
  data:
    restart: "no"
    container_name: '${COMPOSE_PROJECT_NAME}-data'
    image: ubuntu
    volumes:
      - '${APP_DATA_DIR}:/var/www/html_data'
  import:
    restart: "no"
    container_name: '${COMPOSE_PROJECT_NAME}-import'
    image: 'labordigital/import-export:latest'
    depends_on:
      - mysql
      - data
    env_file:
      - .env
    environment:
      - 'APP_MYSQL_HOST=${COMPOSE_PROJECT_NAME}-mysql'
      - MYSQL_PORT=3306
    volumes:
      - '${APP_IMPORT_DIR}:/var/www/html_import'
    volumes_from:
      - data
    networks:
      - dev-network
networks:
  dev-network:
    external: true

server.js

module.exports = ({ env }) =({
  host: '0.0.0.0',
  port: env.int('PORT', 1337),
  proxy: {
    enabled: false
  },
  admin: {
    autoOpen: false,
    host: '0.0.0.0',
    port: 8000,
    auth: {
      secret: env('ADMIN_JWT_SECRET', 'XXXXXXXXXXXXXXXXX'),
    },
  },
});

码头工人控制台

 strapi develop --watch-admin


  Project information

 ┌────────────────────┬──────────────────────────────────────────────────┐
 │ Time               │ Mon Jun 14 2021 19:47:15 GMT+0000 (Coordinated … │
 │ Launched in        │ 8066 ms                                          │
 │ Environment        │ development                                      │
 │ Process PID        │ 62                                               │
 │ Version            │ 3.6.3 (node v14.17.0)                            │
 │ Edition            │ Community                                        │
 └────────────────────┴──────────────────────────────────────────────────┘

  Actions available

 Welcome back!
 To access the server ⚡️, go to:
 http://localhost:1337

 ℹ 「wds」: Project is running at http://localhost:8000/
 ℹ 「wds」: webpack output is served from /admin/
 ℹ 「wds」: Content not from webpack is served from /var/www/html
 ℹ 「wds」: 404s will fallback to /admin/
 Starting the development server...

 Admin development at http://0.0.0.0:8000/admin/
  WARNING  Compiled with 5 warnings7:48:10 PM

我可以到达索引页面http://127.88.0.79:1337 但是http://127.88.0.79:1337/admin 抛出 404 http://127.88.0.79:8000/admin 无限加载 -socket-node err_connection_refused

strapi-helper-plugin.cjs.min.js:1 GET http://localhost:1337/admin/init net::ERR_CONNECTION_REFUSED sockjs.js:1609 GET http://localhost:8000/sockjs-node/info?t=1623702954278 net::ERR_CONNECTION_REFUSED

我认为它必须这样做 ℹ 「wds」: 项目在 http://localhost:8000/ 运行可能是个问题。我如何告诉strapi中的webpack将其更改为0.0.0.0?还是必须是 docker ip?


编辑:

解决方案

我找到了解决问题的方法:

/config/server.js -> 添加网址

    module.exports = ({ env }) => ({
  host: '0.0.0.0',
  port: env.int('PORT', 1337),
  url: 'http://' + env('APP_DOMAIN', '0.0.0.0') + ':' + env.int('PORT', 1337),
  admin: {
    autoOpen: false,
    host: '0.0.0.0',
    port: 8000,
    auth: {
      secret: env('ADMIN_JWT_SECRET', 'xxxxxxxxxxxxxxxxxxxxxxxxxx'),
    },
  },
});

/admin/admin.config.js -> 添加开发服务器主机

module.exports = {
  webpack: (config, webpack) => {

    config.devServer = {
          host: '0.0.0.0',
      };

    return config;
  },
};

【问题讨论】:

    标签: node.js docker strapi


    【解决方案1】:

    admin.host 参数设置为0.0.0.0 对我来说效果很好。

    // config/server.js
    module.exports = ({ env }) => ({
      host: env('HOST', '0.0.0.0'),
      port: env.int('PORT', 1337),
      cron: {
        enabled: false,
      },
      admin: {
        auth: {
          secret: env('ADMIN_JWT_SECRET', '3cadf93c1f9d17f4f08030296b817bf2'),
        },
        watchIgnoreFiles: ['**/logs/**'],
        host: env('HOST', '0.0.0.0'), // Only used for --watch-admin
        // port: env('ADMIN_PORT', 3000), // Only used for --watch-admin
      },
    });
    
    
    然后您可以通过以下 URL 访问开发管理员:

    http://localhost:8000/admin/auth/login

    http://0.0.0.0:8000/admin/auth/login

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 2012-04-01
      相关资源
      最近更新 更多