🍰
11年前にCakePHPで作ったアプリをDockerで延命する
この記事について
この記事では2011年6月20日にCakePHP(当時のバージョンは1.3.9)で作った複式簿記アプリをDockerで延命した手順について記録します。
おおまかな流れ
おおまかな流れを下記に示します。
- コーディングの準備
- ソースコードの作成
- ソースコードの変更
- コンテナイメージのビルド
- コンテナの起動
- 動作確認
- コンテナの停止
コーディングの準備
コーディングの準備をします。
touch 000-default.conf Dockerfile
ソースコードの作成
エディタで下記のファイルを開いて内容を入力します。
000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
AllowOverride All
</Directory>
</VirtualHost>
Dockerfile
FROM php:5.6-apache
RUN a2enmod rewrite
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
COPY . /var/www/html
ソースコードの変更
エディタで下記のファイルを開いて内容を変更します。
app/config/database.php
@@ -7,8 +7,8 @@ class DATABASE_CONFIG {
'host' => '',
'login' => '',
'password' => '',
- 'database' => 'C:\\Users\\susukida\\Dropbox\\data\\kozukai.sqlite',
+ 'database' => '/data/kozukai.sqlite',
'encoding' => 'utf8'
);
}
app/webroot/index.php
@@ -50,7 +50,7 @@
*
*/
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
- define('CAKE_CORE_INCLUDE_PATH', 'C:' . DS . 'xampp' . DS . 'htdocs' . DS . 'kozukai');
+ define('CAKE_CORE_INCLUDE_PATH', ROOT);
}
/**
コンテナイメージのビルド
ターミナルで下記のコマンドを実行してコンテナイメージを作成します。
docker image build -t kozukai:latest .
コンテナの起動
docker container run -d \
--rm \
-p 3000:80 \
--name kozukai \
-v /Users/susukida/Dropbox/data:/data \
kozukai:latest
動作確認
ブラウザで http://localhost:3000/ にアクセスします。
参考画像
コンテナの停止
docker container stop kozukai
おわりに
11年前の2011年6月1日にフリーランスのプログラマーになった頃、会計ソフトを買うお金も惜しくて当時人気だったCakePHPを使って複式簿記アプリを作成しましたが、まさか10年以上使い続けるとは思っていませんでした。さすがに今では市販の会計ソフトを使っていますが、個人の家計簿ではいまだにこの複式簿記アプリを使っています。
新しいPCを買った時にあまり使わないPHPを動かすためにXAMPPをインストールするのが嫌だったので必要な時だけDockerで動かせるようにしました。新しいアプリに移行するまではDockerで延命し続けようと思います。
Discussion