私は Docker イメージを構築していますが、次のDockerfile
ようになります。
FROM ubuntu:12.04
MAINTAINER Maintainer Name <my_address@goes.here>
VOLUME ["/var/www"]
RUN apt-get update && \
apt-get install -y \
apache2 \
php5 \
php5-cli \
libapache2-mod-php5 \
php5-gd \
php5-ldap \
php5-mysql
COPY apache_default /etc/apache2/sites-available/default
COPY run /usr/local/bin/run
RUN chmod +x /usr/local/bin/run
RUN a2enmod rewrite
EXPOSE 80
CMD ["/usr/local/bin/run"]
実行ファイルには、次のコードが含まれています。
#!/bin/bash
set -e
PHP_ERROR_REPORTING=${PHP_ERROR_REPORTING:-"E_ALL & ~E_DEPRECATED & ~E_NOTICE"}
sed -ri 's/^display_errors\s*=\s*Off/display_errors = On/g' /etc/php5/apache2/php.ini
sed -ri 's/^display_errors\s*=\s*Off/display_errors = On/g' /etc/php5/cli/php.ini
sed -ri "s/^error_reporting\s*=.*$//g" /etc/php5/apache2/php.ini
sed -ri "s/^error_reporting\s*=.*$//g" /etc/php5/cli/php.ini
echo "error_reporting = $PHP_ERROR_REPORTING" >> /etc/php5/apache2/php.ini
echo "error_reporting = $PHP_ERROR_REPORTING" >> /etc/php5/cli/php.ini
source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND
コマンドを実行すると、コンソールにいくつかのエラーが出力されます。
docker build -t dev-image .
最後に でマークされた行---
(これは、行が出力にそのような記号があることを意味しないことを示すためのものです) は、コンソールで赤でマークされています。
...
Get:69 http://archive.ubuntu.com/ubuntu/ precise-updates/main ssl-cert all 1.0.28ubuntu0.1 [12.3 kB]
debconf: delaying package configuration, since apt-utils is not installed ---
Fetched 26.7 MB in 48s (550 kB/s)
...
Unpacking ucf (from .../ucf_3.0025+nmu2ubuntu1_all.deb) ...
Moving old data out of the way ---
Selecting previously unselected package ttf-dejavu-core
...
Setting up ucf (3.0025+nmu2ubuntu1) ...
debconf: unable to initialize frontend: Dialog ---
debconf: (TERM is not set, so the dialog frontend is not usable.) ---
debconf: falling back to frontend: Readline ---
debconf: unable to initialize frontend: Readline ---
debconf: (This frontend requires a controlling tty.) ---
debconf: falling back to frontend: Teletype ---
Setting up ttf-dejavu-core (2.33-2ubuntu1) ...
...
Setting up php5-cli (5.3.10-1ubuntu3.24) ...
debconf: unable to initialize frontend: Dialog ---
debconf: (TERM is not set, so the dialog frontend is not usable.) ---
debconf: falling back to frontend: Readline ---
debconf: unable to initialize frontend: Readline ---
debconf: (This frontend requires a controlling tty.) ---
debconf: falling back to frontend: Teletype ---
Creating config file /etc/php5/cli/php.ini with new version ---
update-alternatives: using /usr/bin/php5 to provide /usr/bin/php (php) in auto mode.
...
Setting up apache2-mpm-prefork (2.2.22-1ubuntu1.11) ...
invoke-rc.d: policy-rc.d denied execution of start. ---
Setting up apache2 (2.2.22-1ubuntu1.11) ...
...
ldconfig deferred processing now taking place
Errors were encountered while processing:
ssl-cert
E: Sub-process /usr/bin/dpkg returned an error code (1)
The command '/bin/sh -c apt-get update && apt-get install -y apache2 php5 php5-cli libapache2-mod-php5 php5-gd php5-ldap php5-mysql' returned a non-zero code: 100
なんで?私はここで通知されていませんか?私は何か見落としてますか?
Fedora 24 で Docker 1.10.3 を実行しています。
$ docker -v
Docker version 1.10.3, build a612434/1.10.3
アップデート
すべてのイメージとコンテナーを削除し、クリーン ビルドを実行した後、次の--no-cache
エラーが表示されるようになりました。
Setting up ssl-cert (1.0.28ubuntu0.1) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
groupadd: failure while writing changes to /etc/group
addgroup: `/usr/sbin/groupadd -g 102 ssl-cert' returned error code 10. Exiting.
dpkg: error processing ssl-cert (--configure):
subprocess installed post-installation script returned error exit status 1
エラーでどちらが理にかなっているのですか? 問題はなぜですか?