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