我是AWS弹性Beanstalk的用户,遇到了一个小问题。我想用less+node构建我的CSS文件。但是我不知道如何在使用Jenkins构建时在我的dockerfile中安装node。
这是我在我的docker中使用的安装包。如果有任何建议,我将非常感激。
FROM php:5.6-apache
# Install PHP5 and modules along with composer binary
RUN apt-get update
RUN apt-get -y install \
curl \
default-jdk \
git \
libcurl4-openssl-dev \
libpq-dev \
libmcrypt-dev \
libpq5 \
npm \
node \
zlib1g-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng12-dev
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install curl json mbstring opcache pdo_mysql zip gd exif sockets mcrypt
# Install pecl
RUN pecl install -o -f memcache-beta \
&& rm -rf /tmp/pear \
&& echo 'extension=memcache.so' > /usr/local/etc/php/conf.d/memcache.ini
之后,我会使用以下代码运行我的entrypoint.sh文件
#!/usr/bin/env sh
composer run-script post-install-cmd --no-interaction
chmod 0777 -R /var/app/app/cache
chmod 0777 -R /var/app/app/logs
exec apache2-foreground
但是我遇到了这个错误
Error Output: [2016-04-04 11:23:44] assetic.ERROR: The template ":tmp:module.html.twig" contains an error: A template that extends another one cannot have a body in ":tmp:module.ht
ml.twig" at line 7.
但是当我以这种方式在 Docker 容器中安装 Node 时:
apt-get install git-core curl build-essential openssl libssl-dev
git clone https://github.com/nodejs/node.git
cd node
./configure
make
sudo make install
node -v
我可以构建我的CSS,所以问题是...当我使用Jenkins构建Dockerfile时,如何使上面的安装程序在其中进行安装?
chmod 777
都是错误的和危险的。在任何情况下,您绝对不希望将可执行文件或系统文件的写访问权限授予所有用户。您需要尽快恢复到正常的权限设置(对于您的用例,可能只需确保文件具有正确的所有者,并坚持使用0755
),并在再次尝试使用之前了解 Unix 权限模型。如果这发生在具有 Internet 访问权限的系统上,请检查是否有入侵者可以利用此来升级其特权。 - tripleee