2016-12-01 2 views
1

gulp-ruby-sass 플러그인을 사용하는 웹 응용 프로그램이 있으며 sass gem을 설치하는 컨테이너 내에서 실행됩니다.Docker 컨테이너 내 gulp-ruby-sass에 Sass가 없습니다.

source "https://rubygems.org" 

gem "sass" 

그리고 I :

#! /bin/bash 

bundle install 
npm install 
jspm install 
npm config set bin-links false 
npm rebuild node-sass 

gulp watch 

는 Gemfile입니다 :

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 

이 부트 스트랩 스크립트 파일 (응용 프로그램을 부트 스트랩) :

은 Dockerfile입니다 다음과 같이 컨테이너를 실행하십시오.

docker run -it --name web -p 9000:9000 --volume $(pwd):/var/www brainy_web sh bootstrap.sh 

문제는 꿀꺽 꿀꺽 작업 gulp build-cssdocker-compose 사용하여 실행될 때, 그것이이 로그에 표시되는 것과 sass 보석을 찾을 수 없다는 것입니다 : Gem sass is not installed (전체 로그 here),하지만 떠들썩한 파티와 용기를 실행할 때 모든 파일이 원활하게 실행되도록 bootstrap.sh 파일을 실행하십시오.

sassdockergulp-ruby-sass을 사용하는 방법에 대한 의견이 있으십니까?

UPDATE

전에서 실행하면 꿀꺽 작업 외부,이 중 하나를 찾을 수없는 것을 발견 :

docker exec web gulp build-css 
+1

대신이 시도 했습니까? docker run -it --name web -p 9000 : 9000 - volume $ (pwd) :/var/www brainy_web bash bootstrap.sh –

+0

유망 해 보였습니다 ...하지만 시도하고 똑같은 메시지를 돌려줍니다 (Gem sass 설치되지 않았습니다.) –

+0

사용할 수없는 환경 변수와 관련이 있다고 생각합니다 ... gulp-ruby-sass 플러그인을 살펴 보겠습니다. –

답변

0

나는 해결책을 발견! @ webert-s-lima의 조언을 따라 여기에 : https://stackoverflow.com/a/29999734/532912 컨테이너를 시작할 때 -l 인수를 추가했습니다. 성명은 다음과 같을 것입니다 :

docker run -it --name web -p 9000:9000 --volume $(pwd):/var/www brainy_web /bin/bash -l bootstrap.sh 
+0

나는 그것이 기뻤다 :) –