我正在设置 Docker 来运行我的 CakePHP 应用程序,我的 Dockerfile 就像
FROM php:7.2-apache
# Enable Apache Rewrite + Expires Module
RUN a2enmod rewrite expires
# Install dependencies
RUN apt-get update && apt-get install -y \
unzip \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libyaml-dev \
zlib1g-dev \
libicu-dev \
g++ \
git \
libzip-dev \
zip \
&& docker-php-ext-install opcache \
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-configure zip --with-libzip \
&& docker-php-ext-install zip \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install zip
但是当我跑步时
docker-composer build
它给了我一个错误,比如
debconf: delaying package configuration, since apt-utils is not installed
日志就像
After this operation, 1607 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 libapt-inst2.0 amd64 1.4.8 [192 kB]
Get:2 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 apt-utils amd64 1.4.8 [410 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 602 kB in 1s (356 kB/s)
Selecting previously unselected package libapt-inst2.0:amd64.
(Reading database ... 13064 files and directories currently installed.)
Preparing to unpack .../libapt-inst2.0_1.4.8_amd64.deb ...
我尝试了 GitHub 问题和建议中指定的方法。
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends apt-utils
还有
RUN apt-get update && apt-get install -y --no-install-recommends apt-utils
但是没有任何效果,错误仍然存在。
进一步运行该过程会出现以下错误
/usr/src/php/ext/intl/idn/idn.c: In function 'php_intl_idn_to':
/usr/src/php/ext/intl/idn/idn.c:227:4: warning: 'uidna_IDNToASCII_57' is deprecated [-Wdeprecated-declarations]
converted_ret_len = uidna_IDNToASCII(ustring, ustring_len, converted, MAXPATHLEN, (int32_t)option, &parse_error, &status);
^~~~~~~~~~~~~~~~~
In file included from /usr/include/unicode/platform.h:23:0,
from /usr/include/unicode/ptypes.h:50,
from /usr/include/unicode/umachine.h:44,
from /usr/include/unicode/utypes.h:36,
from /usr/include/unicode/uidna.h:20,
from /usr/src/php/ext/intl/idn/idn.c:28:
/usr/include/unicode/uidna.h:673:1: note: declared here
uidna_IDNToASCII( const UChar* src, int32_t srcLength,
^
/usr/src/php/ext/intl/idn/idn.c:229:4: warning: 'uidna_IDNToUnicode_57' is deprecated [-Wdeprecated-declarations]
converted_ret_len = uidna_IDNToUnicode(ustring, ustring_len, converted, MAXPATHLEN, (int32_t)option, &parse_error, &status);
^~~~~~~~~~~~~~~~~
In file included from /usr/include/unicode/platform.h:23:0,
from /usr/include/unicode/ptypes.h:50,
from /usr/include/unicode/umachine.h:44,
from /usr/include/unicode/utypes.h:36,
from /usr/include/unicode/uidna.h:20,
from /usr/src/php/ext/intl/idn/idn.c:28:
/usr/include/unicode/uidna.h:720:1: note: declared here
uidna_IDNToUnicode( const UChar* src, int32_t srcLength,
^
使用
DEBIAN_FRONTEND=noninteractive apt-get -yq install {your-pkgs}
而不是 apt-get -yq install {your-pkgs}
应该可以解决问题。
您可以设置
DEBCONF_NOWARNINGS=yes
隐藏消息。