Dockerized NuxtJS 应用程序不会重新加载本地更改

问题描述 投票:0回答:1

我刚刚使用 Docker 和 Docker-compose 对我的第一个 NuxtJS 应用程序进行了 Docker 化。 一切都运行顺利,除了当我在本地进行更改时,正在运行的 docker 不会反映我所做的更改。

如何配置 Docker 容器来监听代码中的本地更改?谢谢:

Dockerfile:

# Dockerfile
FROM node:11.13.0-alpine

# create destination directory
RUN mkdir /myapp
WORKDIR /myapp

# Add current directory code to working directory
ADD . /myapp/

# update and install dependency
RUN apk update && apk upgrade
RUN apk add git

RUN npm install

EXPOSE 3000

ENV NUXT_HOST=0.0.0.0
ENV NUXT_PORT=3000

CMD gunicorn myapp.wsgi:application --bind $NUXT_HOST:$NUXT_PORT

Docker-compose:

version: "3"

services:
  nuxt:
    build: .
    command: npm run dev
    ports:
      - "3000:3000"
    environment:
      - NUXT_HOST=0.0.0.0
      - NUXT_PORT=3000
    volumes:
      - /myapp/

Nuxt.config.js:

export default {
  // Global page headers (https://go.nuxtjs.dev/config-head)
  head: {
    title: 'myapp',
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
      { hid: 'description', name: 'description', content: '' },
    ],
    link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }],
  },

  // Global CSS (https://go.nuxtjs.dev/config-css)
  css: [],

  // Plugins to run before rendering page (https://go.nuxtjs.dev/config-plugins)
  plugins: [],

  // Auto import components (https://go.nuxtjs.dev/config-components)
  components: true,

  // Modules for dev and build (recommended) (https://go.nuxtjs.dev/config-modules)
  buildModules: [
    // https://go.nuxtjs.dev/eslint
    '@nuxtjs/eslint-module',
    // https://go.nuxtjs.dev/stylelint
    '@nuxtjs/stylelint-module',
  ],

  // Modules (https://go.nuxtjs.dev/config-modules)
  modules: [
    // https://go.nuxtjs.dev/buefy
    'nuxt-buefy',
    // https://go.nuxtjs.dev/axios
    '@nuxtjs/axios',
    // https://go.nuxtjs.dev/pwa
    '@nuxtjs/pwa',
    // https://go.nuxtjs.dev/content
    '@nuxt/content',
  ],

  // Axios module configuration (https://go.nuxtjs.dev/config-axios)
  axios: {},

  // Content module configuration (https://go.nuxtjs.dev/config-content)
  content: {},

  // Build Configuration (https://go.nuxtjs.dev/config-build)
  build: {},

  watchers: {
    webpack: {
      poll: true
    }
  },
}
docker docker-compose dockerfile nuxt.js
1个回答
0
投票

将其添加到 nuxt.config.ts

指定您的容器主机

//fix issue for docker not reflecting changes
  vite: {
    server: {
      host: true,
      port: 3000,
      watch: {
        usePolling: true,
      },
    },
  }

替代方案:

 //fix issue for docker not reflecting changes
  vite: {
    server: {
      watch: {
        usePolling: true,
        interval: 100, // Poll files every 100ms
      },
    }
  }
© www.soinside.com 2019 - 2024. All rights reserved.