gulp-ruby-sass
プラグインを使用する Web アプリケーションがあり、 sass
gem をインストールするコンテナー内で実行されます。
これは 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 phantomjs-prebuilt@2.1.9 && \
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 タスクgulp build-css
を実行すると、ログに示されているように gem がdocker-compose
見つからないことです: (完全なログはこちら)、bash でコンテナーを実行してファイルを実行すると、すべてがスムーズに実行されます。sass
Gem sass is not installed
bootstrap.sh
sass
との使い方について何か考えはdocker
ありgulp-ruby-sass
ますか?
アップデート
gulp タスクの外側から実行すると、次のいずれも見つからないことがわかりました。
docker exec web gulp build-css