我有一個使用gulp-ruby-sass
插件的web應用程序,它運行在安裝了sass
gem的容器內。找不到在Docker容器中的gulp-ruby-sass的Sass
這是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
的問題是,當使用docker-compose
執行任務一飲而盡gulp build-css
,它沒有找到sass
寶石,因爲它是在日誌中顯示:Gem sass is not installed
(完整的日誌here),但是當我運行使用bash容器並執行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插件。 –