Dockerコンテナを終了した後も実行を継続する方法

Dockerコンテナを終了した後も実行を継続する方法

現象:

イメージを実行します (例: ubuntu14.04)。

docker run -it --rm ubuntu:14.04 bash

終了時:

Ctrl+Dを実行するか、exitを実行します

スレッドを表示:

ドッカーps

空なので、実行中のコンテナがないことを示します。

解決:

イメージを実行します:

docker run -dit ubuntu:14.04

スレッドを表示:

スレッドを見つけて開きました:

docker attach 【コンテナIDまたは名前】

終了時に実行を継続したい場合は、[ctrl+p]、[ctrl+q]を順に押します。

実行を継続しない場合は、[ctrl+d]を押すか、exitと入力します。

さらに、シャットダウン後に再起動するには、docker restart [コンテナIDまたは名前]と入力してください。

補足: Docker - コンテナを起動した後にシェルスクリプトを実行し、実行が完了したらコンテナを終了するのは避けてください

最近、Dockerfile を使用してコンテナを起動していたのですが、Dockerfile を使用してコンテナ内のシェルを呼び出すと、シェルの実行後に Docker がコンテナを終了してしまうことがわかりました。

分析する

Docker がシェルを実行する場合、バックグラウンドで実行されます。そのため、シェルの実行後、Docker は実行するフォアグラウンド タスクがないことを検出し、コンテナーを終了します。

回避策

シェル スクリプトの最後に「never complete」コマンドを追加します。

# テール -f /dev/null

このように、このコマンドを実行すると、シェルは終了せず、コンテナも終了しません。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • kubernetes1.20 で docker (shim) を containerd に置き換える問題について説明します。
  • Dockerは異常なコンテナ操作を排除する
  • さようなら Docker: 5 分で Containerd に移行する方法
  • Dockerはコンテナにポートを動的に公開します
  • Dockerイメージ内のnoneイメージ操作を削除する
  • Dockerイメージのローカル移行の実装
  • Dockerイメージが消える問題を解決する
  • Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策
  • Dockerでイメージを削除する方法
  • Docker でのコンテナとイメージの命名

<<:  MySQL の接続数が多すぎるエラーの原因と解決策

>>:  CSSプロパティに基づいたボタンホバーボーダーと背景アニメーションのコレクション

推薦する

docker compose を使用して FastDfs ファイル サーバーをインストールする詳細な例

ドッカーの作成 バージョン: '2' サービス: fastdfsトラッカー: ホスト...

SQLでEXPLAINコマンドを使用する方法

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

MySQLコマンドプロンプトで入力エラーが発生したときに前のコマンドを修正する方法

目次現在の問題解決プロセス具体的な手順解決した事件現在の問題MySQL コマンド プロンプトに複数行...

ルート変更を監視するJavaScriptの詳細な説明

目次歴史pushState() メソッドpushState() の使用シナリオreplaceStat...

MySQL の FIND_IN_SET() と IN の違いを簡単に分析します

以前、あるプロジェクトでMysql FIND_IN_SET関数を使用したことがありますが、非常に便利...

ウェブサイトのデザインを改善するための役立つ提案を提供します

<br />ウェブサイトを科学的にデザインする: アイトラッキング研究から学ぶ 23 の...

MySQL学習エンジンの詳細な説明、説明、権限

エンジン導入InnodbエンジンInnodb エンジンは、データベース ACID トランザクションを...

LinuxでRPMを使用してmysql5.7.17をインストールする

LinuxでのMySQL5.7 rpmのインストール方法を参考までに記録します。具体的な内容は以下の...

コンテナDockerCommitを介してイメージを送信し、DockerPushでイメージをプッシュします。

ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...

MySQL の null 可能フィールドは NULL に設定する必要がありますか、それとも NOT NULL に設定する必要がありますか?

MySQL を頻繁に使用する人は、次のような状況に遭遇する可能性があります。 1. フィールド タ...

MySQL はリレーショナルデータベースですか?

MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...

VMware 仮想マシンのネットワークの問題の解決方法

目次1. 問題の説明2. 問題解決1. 仮想マシンシステムのインストール時にネットワークがない場合2...

Linux resolv.conf の簡単な分析

1. はじめにresolv.conf は、さまざまなオペレーティング システムのドメイン ネーム シ...

Linux システムコマンドのメモ

この記事では、Linux システム コマンドについて説明します。ご参考までに、詳細は以下の通りです。...

Vue2で配列の変更を検出できない理由と解決策

目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...