错误:在Docker构build在Tutum期间,构build过程返回退出代码137

我已经在Tutum上build立了一个新的存储库,链接到一个Github存储库。 这个项目在我的本地机器上成功build立,但在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的最后一步27已经到达,Docker返回消息“成功构buildeeb9646f9317”,而且返回“错误:生成过程返回退出代码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 

任何想法 ?

我发现这种情况大多发生在服务器耗尽资源和大部分内存时。 你有2个选项。

  1. 如果这是一个登台服务器,那么你可以负担closures与docker-compose down的服务。 然后构build你的容器, docker-compose build ,一旦完成,重新启动你的服务器docker-compose up -d-d用于从您的terminal“分离”。

  2. 如果这是生产服务器,取决于您所在的服务,您可以增加您使用的docker-machine的内存,然后构build您的容器。

在Mac中,为了解决这个问题,你可能想尝试改变在Docker> Preference> Memory中的内存分配。 大多数增加将工作。