イメージを再構築せずにDockerにポートを動的に追加する方法

イメージを再構築せずにDockerにポートを動的に追加する方法

操作中に Docker コンテナの公開ポートを変更または追加する必要がある場合がありますが、実行中のコンテナ用に新しいイメージを作成したくない場合もあります。この時点で、Docker コンテナの保存場所を見つけて、設定ファイルを直接変更できます。

コンテナはすべて/var/lib/docker/containers下に保存されます。

私のコンテナは/var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632にあります

各コンテナ ID は hash_id に対応します。nginx コンテナが 2 つのポートを公開していることがわかります。次に、別のポート 9999 を追加しましょう。

コンテナに対応するディレクトリを入力します。

cd /var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632

次のように表示されます。

hostconfig.jsonをコピーし、json変換ツールを使用して「PortBindings」ノードを見つけます。

次に、同じパターンに従って上に 1 つ追加します。

図に示すように:

hostconfig.jsonを変更して保存します。

次に、図に示すように、 config.v2.json的ExposedPorts変更します。

保存して終了します。

Dockerを再起動します。

コンテナを再起動します。

ご覧のとおり、ポート 9999 が公開されています。

要約する

上記は、イメージを再構築せずに Docker にポートを動的に追加するために紹介した方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Docker で実行中のコンテナのポート マッピングを設定する方法
  • Docker ポート マッピングを使用してネットワーク アクセスを実現する方法
  • Docker 学習ノート Docker ポートマッピング
  • 実行中のコンテナポートを動的にマッピングするDockerの詳細な説明
  • Docker ポートマッピングの詳細
  • Docker はイメージを取得し、エラーを報告します: docker: デーモンからのエラー応答

<<:  MySQL Community Server 8.0.11 のインストールと設定方法のグラフィックチュートリアル

>>:  JavaScriptのプリミティブ値とラッパーオブジェクトの詳細な紹介

推薦する

ウェブ標準学習リソースの素晴らしいコレクション

これらの仕様は、下位互換性のあるドキュメントを Web 上で公開し、できるだけ幅広いユーザーがアクセ...

JS関数の継承について学ぶ記事

目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...

jsでライトスイッチの効果を実現

この記事の例では、ライトスイッチ効果を実現するためのjsの具体的なコードを参考までに共有しています。...

Vue.jsフレームワークはショッピングカート機能を実装します

この記事では、ショッピングカートを実装するためのVue.jsフレームワークの具体的なコードを参考まで...

WebWorkerはJavaScriptサンドボックスの詳細をカプセル化します

目次1. シナリオ2. IJavaScriptShadowboxを実装する2.1 メインスレッドの実...

仮想マシンに Linux rhel7.3 オペレーティング システムをインストールする (具体的な手順)

仮想化ソフトウェアをインストールする仮想マシンにオペレーティング システムをインストールする前に、ホ...

jsのディープコピーを理解しましょう

目次js ディープコピーデータ保存方法浅いコピー/深いコピーとは何か一般的なディープコピーの実装1....

SpringBoot と Docker の統合の詳細なプロセス

目次1. デモプロジェクト1.1 インターフェースの準備1.2 構成の準備2. Dockerがリモー...

MySQL 5.7.16 のインストールと設定方法のグラフィック チュートリアル (Ubuntu 16.04)

Ubuntu 16.04 に MySQL 5.7 をインストールするにはどうすればいいですか?メイ...

ドロップダウンボックス選択コンポーネントを実装するためのネイティブ js

この記事の例では、ドロップダウンボックス選択コンポーネントを実装するためのjsの具体的なコードを参考...

Tomcat 例外の解決方法 (リクエスト ターゲットに無効な文字が見つかりました。有効な文字は RFC 7230 および RFC 3986 で定義されています)

1. シナリオ表示Tomcat ログに次の例外情報が時々報告されます。何が起こっているのでしょうか...

Puppeteer を使用して Linux (CentOS) で Web ページのスクリーンショット機能を実装する

Linux に puppeteer をインストールするときに、次の問題が発生する可能性があります。こ...

HTML におけるメタの役割について (インターネットから収集および分類)

W3Cschoolではこのように説明しています<meta> 要素は、検索エンジン向けの説...

Linux サーバー上の hosts ファイル構成の詳細な説明

Linux サーバーのホスト ファイルの構成hosts ファイルは、Linux システム内の IP ...

MySQLトリガーの使用例の詳細

MySQL トリガー構文の詳細: トリガーは、特定のテーブル内のデータが挿入、削除、または更新される...