Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 我和Docker的Gulp Watch任务有什么问题?_Django_Docker_Sass_Gulp - Fatal编程技术网

Django 我和Docker的Gulp Watch任务有什么问题?

Django 我和Docker的Gulp Watch任务有什么问题?,django,docker,sass,gulp,Django,Docker,Sass,Gulp,编辑:由于未发送“文件更改”事件,因此在具有的windows上,Gulp“Watch”不起作用。我目前的解决方案是在本地机器上运行,同时看看是否可以集成到代码中 我试图在dockerfile中运行gulp watch任务,但当我的文件发生更改时,gulp无法捕获 简要说明: 当我将此设置用于本地托管的wordpress安装时,此设置可以正常工作 根据pycharm的docker服务,文件更改反映在my docker容器中 运行“styles”gulp任务是有效的,只是文件监视不起作用 我很清

编辑:由于未发送“文件更改”事件,因此在具有的windows上,Gulp“Watch”不起作用。我目前的解决方案是在本地机器上运行,同时看看是否可以集成到代码中

我试图在dockerfile中运行gulp watch任务,但当我的文件发生更改时,gulp无法捕获

简要说明:

  • 当我将此设置用于本地托管的wordpress安装时,此设置可以正常工作
  • 根据pycharm的docker服务,文件更改反映在my docker容器中
  • 运行“styles”gulp任务是有效的,只是文件监视不起作用
我很清楚,gulp是如何观察变化的,Docker是如何让变化发生的,这两者之间存在某种脱节

**编辑:看起来可以做我想做的事

:

Docker Compose:

version: "3.7"

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8002:8000"
      - "3001:3001"
      - "3000:3000"
    volumes:
      - ./django_project:/django_project
    command: >
      sh -c "python manage.py runserver 0.0.0.0:8000"
    restart: always
    depends_on:
      - db
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: example1
    ports:
      - "5432:5432"
    restart: always
Dockerfile:

FROM python:3.8-buster
MAINTAINER Austin

ENV PYTHONUNBUFFERED 1

# Install node
RUN apt-get update && apt-get -y install nodejs
RUN apt-get install npm -y

# Replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh

# Update Node
# Install base dependencies
RUN apt-get update && apt-get install -y -q --no-install-recommends \
        apt-transport-https \
        build-essential \
        ca-certificates \
        curl \
        git \
        libssl-dev \
        wget

ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 12.14.0

WORKDIR $NVM_DIR

RUN curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash \
    && . $NVM_DIR/nvm.sh \
    && nvm install $NODE_VERSION \
    && nvm alias default $NODE_VERSION \
    && nvm use default

ENV NODE_PATH $NVM_DIR/versions/node/v$NODE_VERSION/lib/node_modules
ENV PATH      $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH


# What PIP installs need to get done?
COPY django_project/requirements.txt /requirements.txt
RUN pip install -r /requirements.txt



# Copy local directory to target new docker directory
RUN mkdir -p /django_project
WORKDIR /django_project
COPY ./django_project /django_project


# Make Postgres Work
EXPOSE 5432/tcp


WORKDIR /django_project

RUN npm install gulp-cli -g

你认为会发生什么事?

我猜你是在windows上运行的,对吗

如果是,请看下面的答案

下面是链接答案的要点


确定的问题 绑定安装实际上不适用于docker toolbox:

主机的已装入文件夹中的文件更改事件不会传播到 用于Windows的Docker容器

解决方案
此脚本旨在解决此问题:。

这似乎正是我需要的。抱歉我的无知,但是我如何通过dockerfile运行他们的解决方案呢?这里到底发生了什么变化?“docker run--rm-it-e JEKYLL_NEW=true-p 8080:4000-v(pwd):/site bretfisher/JEKYLL serve”编辑:使用目前正在运行,但如果可能的话,我希望不使用它。嗨,Austin,很遗憾,我不知道有一个解决方案不需要docker windows volume watcher。如果你发现没有它的东西可以用,请告诉我。如果答案足够,请接受;)他们提出的docker run解决方案不是docker windows volume watcher的替代方案吗?我已经更新了这个和链接的答案,使其更清晰
docker run--rm-it-e JEKYLL_NEW=true-p 8080:4000-v$(pwd):/site bretfisher/JEKYLL serve
与您的问题无关。只有docker windows volume watcher是该问题的解决方案。其余的是附加信息。
FROM python:3.8-buster
MAINTAINER Austin

ENV PYTHONUNBUFFERED 1

# Install node
RUN apt-get update && apt-get -y install nodejs
RUN apt-get install npm -y

# Replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh

# Update Node
# Install base dependencies
RUN apt-get update && apt-get install -y -q --no-install-recommends \
        apt-transport-https \
        build-essential \
        ca-certificates \
        curl \
        git \
        libssl-dev \
        wget

ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 12.14.0

WORKDIR $NVM_DIR

RUN curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash \
    && . $NVM_DIR/nvm.sh \
    && nvm install $NODE_VERSION \
    && nvm alias default $NODE_VERSION \
    && nvm use default

ENV NODE_PATH $NVM_DIR/versions/node/v$NODE_VERSION/lib/node_modules
ENV PATH      $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH


# What PIP installs need to get done?
COPY django_project/requirements.txt /requirements.txt
RUN pip install -r /requirements.txt



# Copy local directory to target new docker directory
RUN mkdir -p /django_project
WORKDIR /django_project
COPY ./django_project /django_project


# Make Postgres Work
EXPOSE 5432/tcp


WORKDIR /django_project

RUN npm install gulp-cli -g