Dockerfileの記述についての質問になります。
◼️困っている事
ENTRYPOINTの箇所(もしくはCMD)の箇所を認識できないためdocker runに失敗する
※docker runコマンドではエラーにならないが、docker psのステータスがExitedになりサービスが起動しない
以下のようなDokcerfileがあります。
#Dockerfile FROM mongo:latest ~割愛~ COPY startUp.sh /tmp/startUp.sh RUN chmod 777 /tmp/startUp.sh EXPOSE 80 9000 27071 ENTRYPOINT ["/tmp/startUp.sh"]
このDockerfileでbuildは出来るのですがdocker runを行った際にstatusがExitedとなり起動してくれません。
docker runをした際にENTRYPOINTの箇所でエラーになっているところまでは絞り込めました。
何か他に特別な記述が必要なのでしょうか?どなたかご存知の方よろしくお願いします。
startUp.shの内容
#!/bin/bash echo '123' > /tmp/test.txt
◼️環境
ホストOSはOS X
Dockerのimageはmongodbをdockerhubから指定
aptでnginx,phpをインストールしています。
◼️試した事
docker buildとrun時のコマンド
$docker build -t test-nginx:1.0 . $docker run -d test-nginx:1.0
ENTRYPOINT/CMDで以下の記述だと、docker runに成功する
ENTRYPOINT ["mongod"] もしくは ENTRYPOINT ["nginx", "-g", "daemon off;"]
run時にサービスの立ち上げを行うために複数のコマンドを実行させるつもりです。
CMDに複数コマンドが指定できないため、それならばシェルで起動しようかと考えていたのですが、シェルスクリプトはCMDで許可されていないのでしょうか?
./bashrcで良いかなとも思いましたがdocker run時のオプションに関係なく一律同じコマンドを読み込んで欲しいので。
docker build => docker run時にnginx,php-fpm,mongodをそれぞれ実行するために試行錯誤してこの方法を取ることにしましたが、どなたか解決できる方がいればお願いします...。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。