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-maven-pluginを使用してデプロイメントを自動化する方法を説明します

1. docker-maven-pluginの紹介私たちの継続的インテグレーションプロセスでは、プロ...

Docker ベースの MySQL マスタースレーブ レプリケーションを実装する方法

序文MySQL マスター/スレーブ レプリケーションは、アプリケーションの高パフォーマンスと高可用性...

VMware 仮想化 KVM のインストールと展開のチュートリアルの概要

仮想化1. 環境セントオス7.3 selinuxとファイアウォールを無効にする2. 仮想化環境の構成...

Linux で crontab 出力リダイレクトが有効にならない問題の解決方法

質問LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...

ウェブサイトのコンテンツの100~1%はナビゲーションである

ウェブサイトでは、コンテンツの(100-1)%がナビゲーションです1. ジェシー・ジェームズ・ギャレ...

Linux システムでログを手動でスクロールする方法

ログローテーションは、Linux システムでは非常に一般的な機能です。ログローテーションは、システム...

C++ を使用して MySQL に接続する方法

C++でMySQLに接続する際の参考情報です。具体的な内容は以下のとおりです。 MySQLCon ク...

フロートとBFCをクリアするCSSメソッド

イギリスBFC: ブロック書式設定コンテキストBFCレイアウトルール内箱は縦方向に次々に配置されます...

クリーンなコードのための Web デザインの 12 の法則 [グラフィック]

美しいコードは美しい Web サイトの基礎です。優れた CSS は、同様に優れた HTML の上にの...

Vue開発ウェブサイトSEO最適化方法の詳細な説明

ページデータの表示には Vue などの js のデータバインディング機構が使用されるため、クローラー...

MySQL バッチ挿入ループの詳細なサンプルコード

背景数日前、MySql でページングを行っていたときに、ページングに制限 0,10 を使用するとデー...

ウェブフロントエンドウェブ開発の一般的なプロセスの簡単な紹介

フロントエンド開発を行っている初心者の学生を多く見かけますが、彼らの効率は比較的遅いです。常にコード...

ログインボックスのドラッグ効果を実現するためのJavascript

この記事では、ログインボックスのドラッグ効果を実現するためのJavascriptの具体的なコードを参...

CSS を使用してマウスをホバーすることで他のタグのスタイルを変更するサンプルコード

序文:私の知る限り、現在 CSS で制御できるのは、タグをホバーしたときにそのタグの下の兄弟タグとサ...

Yahooが開発したウェブページスコアリングプラグインYSlowのスコアリングルール

YSlow は、Yahoo USA が開発したページ スコアリング プラグインです。非常に優れていま...