skillup

技術ブログ

サーバー・ネットワーク

Dockerfile作成での気づきなど(php+webサーバー)

投稿日:

実務で、Dockerfileを色々いじっていたんのでそこで得た気づきなどを。

基本的な構成の考え

以前はCentOSを入れてその中にphp、MySQL、nodeなどを入れていましたが、これらは当然別々にします。そもそもプロセスごとに色々な環境を組み合わせられるのがメリットだと思うので。

本当はphpとapacheも別にすべきのようですが、さわりの部分では一緒に進めます。

やり始めは例えばなんらかのフレームワークを入れるとしても

  • PHP+Apache(アプリ相当部分)
  • MySQL
  • node(npm)

ぐらいでいいと思います。

アプリに関して

CentOS入れても問題はないんですけど、単純に重いことが多く、たくさんの環境を作っているとおそらくディスク容量が一杯になってしまうと思います。

一般的にはubuntuやalpineなどを使うと比較的軽量にすむことが多いため、これらが使うことが一般的なようです。

ただし難点もありまして、当然yumは使えませんし、最小構成だとvimすら使えません。

自分が書いたDockerfileは以下のようなものです。

注意点(かつ色々つまづいた点)としては下記のような点です。

  • htaccessでのmod_rewriteを使うにはapacheじゃないとだめ(nginxだと使えません。)

  • の部分でDocumentRootを修正
  • RUN a2enmod rewrite headers しないと mod_rewrite が有効になりません。
  • PHPの拡張ライブラリは docker-php-ext-install pdo (コア部分)などで入れる
  • peclのものは pecl install mailparse && docker-php-ext-enable mailparse

-サーバー・ネットワーク
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

zabbixアラートメール

以前、zabbixの基本設定についてこのエントリーでかきました。 今回はzabbixでの何らかの障害が発生した時に、アラートメールを送信したい場合について Contents1 ユーザーの登録&ユーザー …

no image

Python+cgiでwebアプリを動かすまで

PythonでRESTAPI的なプログラムを作った時のメモ。 あまりCGIで実行する人がいないようで、情報がそこまでありませんでしたが、Perlでやった経験もあり、動かせました。 Contents1 …

no image

Gitのブランチについて

ちょっといろいろと触っているGitに関して。 前回は作業ディレクトリ、インデックス、コミットについて説明したのですが、今回はブランチについて行います。 Contents1 ブランチとは?2 ブランチに …

no image

webサーバーのログの見方

サーバー監視の基礎となるWebサーバーのログ(主にApache)の見方について少し書いてみようと思います。Apacheで解説しますが、nginxでもほぼおなじです。 Contents1 モジュール読み …

no image

Addtypeについて

htmlにはPHPを埋め込むことができますが、拡張子がhtmlの場合、そのままでは実行できません。 この場合、通常では拡張子を変えなければいけないところですが、apacheを使っている場合、設定ファイ …

アーカイブ