我在Tutum上设置了一个链接到Github存储库的新存储库。这个项目在我的本地机器上成功构建,但是在4小时后它在Tutum上失败并给我以下日志。
Step 27 : ENTRYPOINT /www/run.sh
---> Running in 666e1e87a660
---> eeb9646f9317
Removing intermediate container 666e1e87a660
Successfully built eeb9646f9317
Creating builder1769_sut_1
[Thu Jan 07 17:42:45.675789 2016] [mpm_prefork:notice] [pid 8] AH00163: Apache/2.4.10 (Debian) PHP/5.5.30 configured -- resuming normal operations
[Thu Jan 07 17:42:45.675813 2016] [core:notice] [pid 8] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
ERROR: Build process returned exit code 137
builder-1769: Terminating...
builder-1769: Terminated
ERROR: Build in 'dockerize' (bcf1bce8) failed in 4:00:52
我的Dockerfile的最后一步已经到达,Docker返回消息"成功构建了eeb9646f9317"而且"错误:构建过程返回退出代码137"就在之后。
这是我的Dockerfile
FROM php:5.5-apache
#Add Servername to avoid warning
RUN sed -i '/ServerName localhost/ d' /etc/apache2/apache2.conf && sed -i '/Listen 80/ a\ServerName localhost' /etc/apache2/apache2.conf
#Add apt packages list for Firefox
RUN echo "deb http://packages.linuxmint.com debian import" >> /etc/apt/sources.list
RUN apt-get update \
&& apt-get install -q -y --force-yes libpng-dev php5-imagick php5-curl php5-mysql php5-ssh2 vim wkhtmltopdf curl nodejs npm nodejs-legacy ruby-full default-jre firefox xvfb \
git zlib1g-dev libicu-dev g++ libmcrypt-dev libxml2-dev \
&& rm -rf /var/lib/apt/lists/*
RUN curl -sSL https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer \
&& docker-php-ext-configure intl \
&& docker-php-ext-install gd zip pdo_mysql soap mbstring intl mcrypt bcmath \
&& a2enmod expires headers rewrite \
&& pecl install apcu-4.0.10 \
&& php5enmod mcrypt pdo_mysql \
&& echo "date.timezone=Europe/Paris" >> /usr/local/etc/php/php.ini \
&& echo "short_open_tag=Off" >> /usr/local/etc/php/php.ini \
&& echo "memory_limit=-1" >> /usr/local/etc/php/php.ini \
&& echo "upload_max_filesize=6M" >> /usr/local/etc/php/php.ini \
&& echo "extension=apcu.so" >> /usr/local/etc/php/php.ini
#Firefox
ENV FIREFOX_MINOR 34.0.5
RUN [ -e /usr/bin/firefox ] && rm /usr/bin/firefox
ADD https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FIREFOX_MINOR}/linux-x86_64/en-US/firefox-${FIREFOX_MINOR}.tar.bz2 /tmp/
RUN apt-get install -q -y libdbus-glib-1-2
RUN tar -xvjf /tmp/firefox-${FIREFOX_MINOR}.tar.bz2 -C /opt/
RUN chmod -R +x /opt/firefox/
RUN ln -s /opt/firefox/firefox /usr/bin/firefox
ADD .docker/vhost.conf /etc/apache2/sites-available/wweeddoo.conf
RUN a2ensite wweeddoo.conf
RUN sed -i '/DocumentRoot \/var\/www\/html/ d' /etc/apache2/apache2.conf
RUN sed -i 's/var\/www/www/g' /etc/apache2/apache2.conf
ADD . /www
WORKDIR /www
# Install dependencies
RUN mkdir -p app/sessions var/cache var/logs
RUN chown -R www-data app/sessions var/cache var/logs
RUN npm install -g bower
RUN npm install -g less
RUN gem install sass
RUN composer config -g github-oauth.github.com ff040c19e1b0ae0a4b97c0a140272ec89c8da161
RUN composer install --optimize-autoloader --prefer-dist
# Add run script
ADD .docker/run.sh /www/run.sh
RUN chmod +x /www/run.sh
ENTRYPOINT ["/www/run.sh"]
我的run.sh
chown -R www-data var/cache var/logs app/sessions
/usr/sbin/apache2ctl -D FOREGROUND
有什么想法吗?
答案 0 :(得分:5)
在Mac中,为了解决这个问题,你可能想尝试在Docker中更改内存分配>偏好>记忆。大多数增加都会有效。
答案 1 :(得分:2)
我发现当服务器资源耗尽而且主要是内存时,大多数情况都会发生这种情况。 你有2个选择。
如果这是一个临时服务器,那么您可以使用docker-compose down
关闭服务。然后构建容器docker-compose build
,一旦完成,重新启动服务器docker-compose up -d
。 -d
用于从您的终端“分离”。
如果这是一台生产服务器,根据您所使用的服务,您可以增加正在使用的docker-machine
的内存,然后构建容器。