【问题标题】:Sass is not found for gulp-ruby-sass within Docker container在 Docker 容器中找不到 gulp-ruby-sass 的 Sass
【发布时间】:2016-12-01 00:22:07
【问题描述】:

我有一个使用 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

问题是当使用docker-compose执行gulp任务gulp build-css时,它没有找到sass gem,因为它在日志中显示:Gem sass is not installed(完整日志here),但是当我使用 bash 运行容器并执行 bootstrap.sh 文件时,一切运行顺利。

关于如何将sassdockergulp-ruby-sass 一起使用有什么想法吗?

更新

我发现从外部执行 gulp 任务,也没有找到:

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插件。
  • 是的,我也是这么想的。这就是我建议使用 bash 而不是 sh 的方式。

标签: docker sass rubygems gulp-ruby-sass


【解决方案1】:

我找到了解决方案!我听从了@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 2014-02-28
    • 2018-10-19
    • 2015-01-17
    • 2016-04-04
    • 1970-01-01
    相关资源
    最近更新 更多