背景
ubuntuサーバでプロダクトを動かしたいので、
開発環境であるDocker環境もubuntuにしたいと考えています。
困っていること
コンテナが起動してすぐにexitされる
該当コード
Dockerfile
1FROM ubuntu:latest 2 3RUN apt update -y 4 5# 言語を日本語に 6RUN apt install -y language-pack-ja-base language-pack-ja 7RUN locale-gen ja_JP.UTF-8 8 9# PPAを有効にする 10RUN apt install -y software-properties-common 11RUN add-apt-repository ppa:ondrej/php 12RUN apt update -y 13 14# PHPのインストール 15RUN apt install -y php8.0 php8.0-fpm 16 17# 必要なPHPモジュールをインストール 18RUN apt install -y php8.0-gd php8.0-xml php8.0-soap php8.0-mbstring php8.0-mysql 19 20CMD /etc/init.d/php8.0-fpm -F
↓
エラー内容
Usage: /etc/init.d/php-fpm8.0 {start|stop|status|restart|reload|force-reload}
コマンドの使い方が違うようなので以下のように書き換えました。
Dockerfile
1FROM ubuntu:latest 2 3RUN apt update -y 4 5# 言語を日本語に 6RUN apt install -y language-pack-ja-base language-pack-ja 7RUN locale-gen ja_JP.UTF-8 8 9# PPAを有効にする 10RUN apt install -y software-properties-common 11RUN add-apt-repository ppa:ondrej/php 12RUN apt update -y 13 14# PHPのインストール 15RUN apt install -y php8.0 php8.0-fpm 16 17# 必要なPHPモジュールをインストール 18RUN apt install -y php8.0-gd php8.0-xml php8.0-soap php8.0-mbstring php8.0-mysql 19 20COPY ./files/entrypoint.sh /home/entrypoint.sh 21RUN chmod 755 /home/entrypoint.sh 22 23ENTRYPOINT /home/entrypoint.sh
↓
エラー内容
run: 1: /home/entrypoint.sh: not found
entrypoint.shの中身
sh
1/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の上部に出ていると思います・・・
はい、エラーに触れずご回答いただけるとこちらもヒントになるかもしれないので、ありがたいです