を使用してPHPのためにYAMLの拡張子を追加します。https://github.com/docker-library/php/blob/76a1c5ca161f1ed6aafb2c2d26f83ec17360bc68/7.1/alpine/Dockerfileは、私は、この公式PHPドッカーの画像を使用している公式のアルパインドッカーイメージ
は今、私はそれはPHPにバンドルされていない、YAML拡張機能のサポートを追加する必要があります。 私が使用しているベースイメージはphpizeを使用しています。
私はこのアプローチをしようとしている:
FROM php:7.1.5-alpine
# Install and enable yaml extension support to php
RUN apk add --update yaml yaml-dev
RUN pecl channel-update pecl.php.net
RUN pecl install yaml-2.0.0 && docker-php-ext-enable yaml
をしかし、私はこのエラーを取得:
running: phpize
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
ERROR: `phpize' failed
ERROR: Service 'php_env' failed to build: The command '/bin/sh -c pecl install yaml-2.0.0 && docker-php-ext-enable yaml' returned a non-zero code: 1
そのイメージを使用し、そのサポートを追加するための最も慣用ドッキングウィンドウの方法は何ですか?
私はそれをベースとして使うべきですか、または希望の拡張を構成可能にするためにパラメータを追加することは可能でしょうか?
を、読者はまた' APK php7-を追加する必要がありますがデベロッパー。 – halfer
それは私のために働いていない。私はphpinfo()を実行し、 "追加の.iniファイルの解析"フィールドに値 "/usr/local/etc/php/conf.d/docker-php-ext-yaml.ini"がありますが、拡張子は有効にすることはできません。私はPHPのドキュメントからの例を試して、私はこのエラーメッセージが表示されます: "未定義関数yaml_emit()"を呼び出します。 アイデア –
ええ、私は愚かだと思うが、本当に分けたい。私は自分のイメージを削除してもう一度ビルドします。今は動作しています。 イメージを削除せずに再度ビルドすると、問題の原因になることがあります。確かに、同じイメージを再構築するときには、古いビルドを使用して新しいイメージを作成します。私はドッカーと初心者の一種です、そして私はこれのように動作することを除いていませんでした、それは知っていることは非常に良いです。 あなたのソリューションに感謝します。今、完璧に動作しています! –