У меня есть веб-приложение, которое использует плагин gulp-ruby-sass
и работает в контейнере, который устанавливает драгоценный камень sass
.Sass не найден для gulp-ruby-sass в контейнере Docker
Это Dockerfile:
FROM phusion/passenger-customizable:0.9.19
# Set correct environment variables.
ENV HOME /root
# Use baseimage-docker's init process.
CMD ["/sbin/my_init"]
# Build system and git.
RUN /pd_build/utilities.sh && \
# Ruby support.
/pd_build/ruby-2.3.*.sh && \
# Node.js and Meteor support.
/pd_build/nodejs.sh && \
npm install -g gulp jspm yarn && \
npm install [email protected] && \
mv node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs /usr/bin && \
rm -r node_modules && \
# Clean up APT when done.
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
EXPOSE 9000
WORKDIR /var/www/
CMD /bin/bash
Это файл скрипт начальной загрузки (для начальной загрузки приложения):
#! /bin/bash
bundle install
npm install
jspm install
npm config set bin-links false
npm rebuild node-sass
gulp watch
Это Gemfile:
source "https://rubygems.org"
gem "sass"
И я запустите контейнер таким образом:
docker run -it --name web -p 9000:9000 --volume $(pwd):/var/www brainy_web sh bootstrap.sh
Проблема заключается в том, что, когда глотке задача gulp build-css
выполняется с использованием docker-compose
, он не находит sass
драгоценного камня, как это показано в журнале: Gem sass is not installed
(полный лог here), но когда я запускаю контейнер с Баш и выполнить файл bootstrap.sh
все работает гладко.
Любые мысли о том, как использовать sass
с docker
и gulp-ruby-sass
?
UPDATE
Я обнаружил, что выполнение извне задачи глотком, он не находит ни:
docker exec web gulp build-css
Вы попробовали это вместо этого? docker run -it --name web -p 9000: 9000 --volume $ (pwd):/var/www brainy_web bash bootstrap.sh –
это выглядело многообещающим ... но я попробовал, и он возвращает то же сообщение (Gem sass не установлен) –
Я предполагаю, что это связано с переменными среды, которые недоступны ... Я собираюсь взглянуть на плагин gulp-ruby-sass. –