Я разрабатываю веб-приложение, и мне нужен узел для моей среды разработки.
Мне нужен не производственный контейнер докеров, а контейнер для разработки: мне нужно обмениваться файлами между контейнером докеров и локальными машинами разработки. Я не хочу запускать докер каждый раз, когда меняю исходный файл.
В настоящее время мой файл докеров:
#React development
FROM node:4.1.1-wheezy
MAINTAINER xxxxx
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get -y install sudo locales apt-utils
RUN locale-gen es_ES.UTF-8
RUN dpkg-reconfigure locales
RUN echo Europe/Madrid | sudo tee /etc/timezone && sudo dpkg-reconfigure --frontend noninteractive tzdata
ADD src/package.json /tmp/package.json
RUN cd /tmp && npm install
RUN mkdir -p /src && cp -a /tmp/node_modules /src/
WORKDIR /src
EXPOSE 3000
VOLUME /src
Мне нужен каталог для размещения всех моих исходных файлов (поделитесь каталогом через том данных). Мне также нужно выполнить установку npm в моем файле докеров, чтобы я получил свой каталог node_modules внутри моего исходного каталога (/src/node_modules).
Однако, когда я монтирую каталог хоста как том данных, поскольку каталог /src уже существует внутри образа контейнера, его содержимое будет заменено содержимым каталога /src на хосте, поэтому у меня нет моего каталога /src/node_modules. больше:
docker run -it --volumes-from data-container --name node-dev user/dev-node /bin/bash
В моем хост-каталоге нет каталога node_modules, потому что я получаю его через github и не синхронизирую, потому что это довольно тяжелый каталог.