[解決済み】ドッカーコンテナがすぐに終了してしまう理由
2022-02-18 15:02:01
質問
を使ってコンテナをバックグラウンドで動かしています。
docker run -d --name hadoop h_Service
はすぐに終了してしまいます。でも、フォアグラウンドで実行すると、正常に動作するんです。ログを確認すると
docker logs hadoop
はエラーになりませんでした。何か思い当たることはありますか?
DOCKERFILE
FROM java_ubuntu_new
RUN wget http://archive.cloudera.com/cdh4/one-click-install/precise/amd64/cdh4-repository_1.0_all.deb
RUN dpkg -i cdh4-repository_1.0_all.deb
RUN curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | apt-key add -
RUN apt-get update
RUN apt-get install -y hadoop-0.20-conf-pseudo
RUN dpkg -L hadoop-0.20-conf-pseudo
USER hdfs
RUN hdfs namenode -format
USER root
RUN apt-get install -y sudo
ADD . /usr/local/
RUN chmod 777 /usr/local/start-all.sh
CMD ["/usr/local/start-all.sh"]
start-all.sh
#!/usr/bin/env bash
/etc/init.d/hadoop-hdfs-namenode start
/etc/init.d/hadoop-hdfs-datanode start
/etc/init.d/hadoop-hdfs-secondarynamenode start
/etc/init.d/hadoop-0.20-mapreduce-tasktracker start
sudo -u hdfs hadoop fs -chmod 777 /
/etc/init.d/hadoop-0.20-mapreduce-jobtracker start
/bin/bash
解決するには?
dockerコンテナは、メインプロセスが終了すると終了します。
この場合
start-all.sh
スクリプトが終了します。この場合どうすればいいのか、私はhadoopについて十分な知識を持っていませんが、フォアグラウンドで何かを実行したままにするか、runitやsupervisordなどのプロセスマネージャを使用してプロセスを実行する必要があります。
を指定しないと動作しないと勘違いしているのではないでしょうか?
-d
-it
while true; do sleep 1000; done
をスクリプトの末尾に追加します。しかし、私はこの方法が好きではありません。なぜなら、スクリプトは本来、自分がキックオフしたプロセスを監視すべきものだからです。
(から盗んできたと言うべきでしょう)。
https://github.com/sequenceiq/hadoop-docker/blob/master/bootstrap.sh
)
関連
-
エラー:入力デバイスはTTYではありません。
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】FrontEnd DockerFIle.v0との解決に失敗しました。
-
[解決済み] ansibleでdocker-composeのコマンドを実行するには?
-
[解決済み] ポッドで "ErrImageNeverPull "を取得する
-
[解決済み] ドッカーコンテナ : iptables を実行中です。その名前のチェーン/ターゲット/マッチがない
-
[解決済み] docker-compose down default_network エラー
-
[解決済み] Dockerイメージを1つのコンテナにまとめる方法はありますか?
-
[解決済み] docker の多段ビルド Go イメージ - x509: 証明書は不明な機関によって署名されました。
-
ImportError: libGL.so.1: cannot open shared object file: No such file or directory--docker in-container problem reported as a error.
-
Docker Error : 無効または破損したジャーファイル .jar
-
ドッカーコンテナの状態がExitと表示される(1)