2017-02-12 6 views
0

私のアプリケーションは、Laravelフレームワークに基づいて、私は、これらの仕様にドッカーコンテナを構築する必要がありますされていますドッカーコンテナ:CentOSの7.xの上のPHP 7.xの

  • CentOSの/ RHEL 7.xの
  • PHP 7.xの
  • PHPエクステンション:
    • OpenSSLの
    • PDO
    • mbstringの
    • トークナイザ
    • XML

しかし、問題は、次のとおりです。

DockerHubの公式PHPのイメージが Ubuntuのが、私に基づいています
  • むしろUbuntuではなくRHEL/CentOS上でPHPを使用しています。
  • CentOS公式のYumリポジトリの最新のPHPバージョンは5.4.16で、Laravelが必要とするバージョンよりも低くなっています。 distrowatch.comに基づいて、RHELにもリポジトリにPHPの古いバージョンのPHPが残っているようです。
  • 私は非公式画像を信頼できないため、解決策は公式画像のみに基づいている必要があります。
  • 私は本番環境でこのコンテナを使用したいので、Webtaticのような第三者のリポジトリではなく、信頼できるリソースに頼っています。

CentOSベースのDockerコンテナに最新バージョンのPHPをインストールする方法はありますか?たとえば、CentOSPHPの両方の画像に基づいて画像を作成することは可能ですか?申し訳ありません


私の質問は愚かに聞こえるならば、私はまだドッカーに新しいですし、オンラインドキュメントや記事の数を読んだ後、私はまだ私の答えを見つけることができます。

+0

まず、公式のCentOSイメージをプルダウンし、その上にyumを使ってPHP 7や他のPHPライブラリをインストールすることができます。結果として得られるコンテナを新しいイメージとしてコミットし、それを目的に使用することができます。 – Gayan

+0

ご連絡ありがとうございました。 問題は、RHEL/CentOS Yumリポジトリの公式バージョンで入手可能なPHPの最高バージョンが5.4.16であることです。 Webtaticリポジトリを追加するか、ソースからコンパイルすることでこれらのパッケージをインストールすることは可能ですが、これは本番環境では安全ではありません。 –

答えて

1

次の手順を実行して、CentOSイメージをphp 7.0で作成しました。

対話モードでCentOSイメージをプルダウンして実行します。

docker run -it centos 

私はセットアップphp7webtaticで述べた手順に従いました。インストールするには、まずあなたは

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 

は7つの

yum install php70w php70w-opcache 

インストールパッケージでPHPをインストールするにはyumをするためにあなたのCentOS/RHELのバージョンに対応するWebtatic EL用のyumリポジトリ情報を追加する必要があります

yum install OpenSSL PDO Mbstring Tokenizer xml zip unzip curl 

私はさらに、コンポーザーをインストールするのに必要なので、zip unzip curlを追加しました。

exitと入力してコンテナから抜け出し、利用可能なコンテナを一覧表示します。

docker ps -a 

コンテナIDをコピーし、次のコマンドを使用して新しいイメージとしてコミットします。

docker commit -m "setup centos image with php7.0 and composer" -a "Your Name" 2b252ba66277 yourname/centos-php7.0-composer 

新しく作成されたイメージが表示されます。

docker image ls 

あなたはまた、私はこれらの手順で作成したgayansanjeewa/centos-php7.0-composerをプルダウンすることができ、新しく作成された画像

docker run -it yourname/centos-php7.0-composer 

編集

を実行します。

+0

ありがとうございました。 このDockerコンテナをプロダクション環境で使用したいので、信頼できるソースの公式パッケージに頼っています。 Webtaticのようなサードパーティ製のリポジトリを使用する点を除いて、他のソリューションはありますか? –

+0

php7はまだcentosによってサポートされていないので、現時点では不可能なようです。私はもう少しグーグルグーグルと結果は同じです。これは、Ubuntuなどのイメージを使用するか、サードパーティ製のパッケージのサポートを受けるかのどちらかになります。 – Gayan

+0

ありがとう、そこには2つのイメージを追加して新しいイメージを作成する方法がないようです。たとえば、Docker HubのPHPとCentOSの公式画像の両方に基づいてイメージを作成する方法はありますか? –

関連する問題