コンテナの自動起動

閲覧数: 22(0)

最新バージョンのPHP-FPMをdockerのコンテナとして動かしてみたところ、思ったより安定して動いているのでしばらくこの環境で様子を見る事にした。実稼働の環境に適応させるためには、最低限でもOSが再起動した時に自動起動してくれないと困るなって事でしばらく公式ドキュメントを読み込んでみたり、ググってみるもののdockerには答えが無いっぽい。OS側でサービス化して対応するしかないかって事でちょっとサービスを書いてみた。

[Unit]
Description=PHP-FPM
After=docker.service
Requires=docker.service

[Service]
ExecStart=/usr/local/bin/docker-compose -p PHP-FPM -f /etc/docker/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -p PHP-FPM -f /etc/docker/docker-compose.yml down
ExecReload=/usr/local/bin/docker-compose -p PHP-FPM -f /etc/docker/docker-compose.yml restart
Restart=always

Type=simple

[Install]
WantedBy=multi-user.target

システムに反映させるため「daemon-reload」してから「enable」し「status」で確認します。

$ sudo systemctl daemon-reload

$ sudo systemctl enable php-fpm

$ sudo systemctl status php-fpm
● php-fpm.service - PHP-FPM
   Loaded: loaded (/etc/systemd/system/php-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-06-11 21:45:35 JST; 33min ago
 Main PID: 886 (docker-compose)
    Tasks: 4 (limit: 1081)
   CGroup: /system.slice/php-fpm.service
           ├─ 886 /usr/local/bin/docker-compose -p PHP-FPM -f /etc/docker/docker-compose.yml up
           └─1258 /usr/local/bin/docker-compose -p PHP-FPM -f /etc/docker/docker-compose.yml up

前回の「DOCKERでPHPだけ動かす」ではphp.iniにタイムゾーンの設定をしていましたが反映されなかったのでOS側で対応する事にしました。「Dockerfile」の冒頭部分を以下のように書き換えました。

FROM php:7.3.6-fpm
# Replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
ENV TZ='Asia/Tokyo'

なんかまだちょっと足りない感じもするけど、これでしばらく様子を見ようと思います。ちなみにパフォーマンスの件は「Pagespeed Insights」のインデックスで計測してみたところ、ネイティブ環境に対して93.82%から98.97%のパフォーマンスでした。仮想化レイヤが一つ増えた事によるオーバーヘッドが最悪のケースで6%ぐらいあるって事でしょうか。通常はほとんど誤差の範囲とも言えると思います。あとは時間の経過で何か不具合が出ないかの確認にしたいと思います。

【最終更新日: 2019年6月12日】
カテゴリーIT閑話, 公開タグ, , ,
緊急事態宣言で外出自粛になり...

せっかくのゴールデンウィークなのに、2年連続で緊急事態宣言下となり、外出自粛中。暇なので小ネタで遊ぶ  続きを読む

閲覧数まとめ
blank

閃きついでに総合計と週合計をフラグで制御する方式に変更してみた。これまではベタに関数をまるまるコピー  続きを読む

タイトルを抜粋する
blank

関連記事プラグインを使って、記事本文の下に「関連記事」を表示している。情報としては、タイトル、画像、  続きを読む

閃きは大事だw
blank

このサイトは、あくまでもCMSであるWordPressの構築やクラウドであるAWSの運用ノウハウ取得  続きを読む

管理画面を制限する
blank

このサイトではネット上のさまざまな攻撃からの防御のため、Wordfenceプラグインの無料版を使用し  続きを読む

ページナビのテキスト
blank

記事ページの下部に前後の記事(投稿)へのリンクが表示される仕様なのだが、「カテゴリーに制限」をかけて  続きを読む

スポンサーリンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください