gulp-ruby-sass
プラグインを使用するWebアプリケーションがあり、sass
gemをインストールするコンテナ内で実行されています。Dockerコンテナ内のgulp-ruby-sassにSassが見つかりません
これはDockerfileです:これはGemfileである
#! /bin/bash
bundle install
npm install
jspm install
npm config set bin-links false
npm rebuild node-sass
gulp watch
:
source "https://rubygems.org"
gem "sass"
そして私
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
これは、ブートストラップスクリプトファイル(アプリケーションをブートストラップする)でありますこの方法でコンテナを起動してください:
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)が、私はbashの持つコンテナを実行するとすべてが円滑に実行されているbootstrap.sh
ファイルを実行します。
sass
とdocker
とgulp-ruby-sass
を使用する方法についてのご意見はありますか?私は一気タスクの外から実行することがわかっ
UPDATE
、それはどちらか見つからない:
docker exec web gulp build-css
代わりにこれを試してみましたか? ドッカーrun -it --name web -p 9000:9000 - volume $(pwd):/ var/www brainy_web bash bootstrap.sh –
それは有望そうだと思っていましたが、私は試してみて、同じメッセージ(Gem sassインストールされていません) –
私はそれが利用できない環境変数に関連していると推測しています...私はgulp-ruby-sassプラグインを見ていきます。 –