debconf:延迟包配置,因为没有安装 apt-utils

Anu*_*TBE 5 docker dockerfile docker-compose

我正在设置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
Run Code Online (Sandbox Code Playgroud)

但是当我跑

docker-composer build
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误

debconf: delaying package configuration, since apt-utils is not installed
Run Code Online (Sandbox Code Playgroud)

日志就像

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 ...
Run Code Online (Sandbox Code Playgroud)

我尝试了 GitHub 问题和建议中指定的方法。

RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends apt-utils
Run Code Online (Sandbox Code Playgroud)

并且

RUN apt-get update && apt-get install -y --no-install-recommends apt-utils
Run Code Online (Sandbox Code Playgroud)

但是没有一个工作,而且仍然存在错误。

进一步运行该过程会出现以下错误

/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,
 ^
Run Code Online (Sandbox Code Playgroud)

小智 2

使用DEBIAN_FRONTEND=noninteractive apt-get -yq install {your-pkgs}代替apt-get -yq install {your-pkgs}应该可以解决问题。

有关详细信息,请参阅/sf/answers/3959835701/