背景
ubuntuサーバでプロダクトを動かしたいので、
開発環境であるDocker環境もubuntuにしたいと考えています。
困っていること
コンテナが起動してすぐにexitされる
該当コード
Dockerfile
FROM ubuntu:latest RUN apt update -y # 言語を日本語に RUN apt install -y language-pack-ja-base language-pack-ja RUN locale-gen ja_JP.UTF-8 # PPAを有効にする RUN apt install -y software-properties-common RUN add-apt-repository ppa:ondrej/php RUN apt update -y # PHPのインストール RUN apt install -y php8.0 php8.0-fpm # 必要なPHPモジュールをインストール RUN apt install -y php8.0-gd php8.0-xml php8.0-soap php8.0-mbstring php8.0-mysql CMD /etc/init.d/php8.0-fpm -F
↓
エラー内容
Usage: /etc/init.d/php-fpm8.0 {start|stop|status|restart|reload|force-reload}
コマンドの使い方が違うようなので以下のように書き換えました。
Dockerfile
FROM ubuntu:latest RUN apt update -y # 言語を日本語に RUN apt install -y language-pack-ja-base language-pack-ja RUN locale-gen ja_JP.UTF-8 # PPAを有効にする RUN apt install -y software-properties-common RUN add-apt-repository ppa:ondrej/php RUN apt update -y # PHPのインストール RUN apt install -y php8.0 php8.0-fpm # 必要なPHPモジュールをインストール RUN apt install -y php8.0-gd php8.0-xml php8.0-soap php8.0-mbstring php8.0-mysql COPY ./files/entrypoint.sh /home/entrypoint.sh RUN chmod 755 /home/entrypoint.sh ENTRYPOINT /home/entrypoint.sh
↓
エラー内容
run: 1: /home/entrypoint.sh: not found
entrypoint.shの中身
sh
/etc/init.d/php8.0-fpm start
COPY ./files/entrypoint.sh /home/entrypoint.sh
部分ではエラーは出ていないので、
コピー自体はできていると思います。
しかしファイルがないと言われます。
質問
このように、ubuntuイメージでPHP-FPMを起動させるにはどのようにすればよろしいでしょうか?
ご存じの方がいらっしゃいましたら、ご教示いただけますと幸いです。
よろしくお願いいたします。
掲載されているコードをコピペしてそのままbuildおよびrunしてみましたが。
エラーは起きず再現できませんでした。
一応、開発環境や実行コマンドも載せていただけますでしょうか。
ご覧頂き誠にありがとうございます。
GitHubにコード全体をPushいたしましたので、もしよろしければご覧いただけますと幸に存じます。
https://github.com/nnahito/web-ubuntu-docker/
よろしくお願いいたします。
リポジトリをクローンしてdocker-compose up したところphp-fpmに関しては
```
web-ubuntu-docker_phpfpm_1 exited with code 0
```
としか出力されず、提示されているエラーは出ませんでした。
php-fpmを動かすにあたって根本的な問題は別にあるので、エラーについては触れずに回答してよいでしょうか?
おそらくdocker-compose logsの上部に出ていると思います・・・
はい、エラーに触れずご回答いただけるとこちらもヒントになるかもしれないので、ありがたいです
まだ回答がついていません
会員登録して回答してみよう