イメージを再構築せずに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のプリミティブ値とラッパーオブジェクトの詳細な紹介

推薦する

js シンプルで粗雑なパブリッシュとサブスクライブのサンプルコード

パブリッシュ/サブスクライブとは何ですか?例を挙げてみましょう。あなたは服を買うために店に行きます。...

CSSでイメージマッピングを実装する方法

1. はじめにイメージマップを使用すると、画像の領域をホットスポットとして指定できます。この領域にマ...

docker を使用してシンプルな C/C++ プログラムをデプロイする方法

1. まずhello-world.cppファイルを作成しますプログラムコードは次のとおりです。 #i...

シンプルな広告ウィンドウを実現するjs

この記事では、参考までに、シンプルな広告ウィンドウを実装するためのjsの具体的なコードを紹介します。...

MySQL インデックスの原理と使用例の分析

この記事では、例を使用して MySQL インデックスの原理と使用方法を説明します。ご参考までに、詳細...

Kafka と Nginx の統合例

背景nginx-kafka-module は、Kafka を nginx に統合して、Web プロジ...

Element-UI の Select と Cascader にポップアップ下部アクション ボタンを追加する方法

下図のように、 selectポップアップレイヤーの下部に操作ボタンを配置するのが一般的な設計方法です...

Web面接でよくある質問:リフローとリペイントの原理と違い

目次ブラウザのレンダリングメカニズムリフローと再塗装リフロー逆流を引き起こす行為:再描画再描画を引き...

CSS仕様 BEM CSSとOOCSSサンプルコード詳細説明

序文プロジェクト開発中、各人のコーディング習慣が異なるため、記述された CSS コードは十分に構造化...

Web2.0: 情報過多の原因と解決策

<br />情報の重複、情報過多、情報強迫、パーソナライズされたカスタマイズ、検索エンジ...

threejs でリアルタイムポリゴン屈折を実装する方法

目次序文ステップ1: セットアップと前方屈折ステップ2: 反射とフレネル方程式ステップ3: 多面屈折...

ウェブページのエクスペリエンス: ウェブページのカラーマッチング

<br />ウェブページの色はウェブサイトのイメージを確立する鍵の一つですが、ネットユー...

Linux/Mac MySQL パスワードを忘れた場合の対処方法

Linux/Mac の MySQL パスワードを忘れた場合はどうすればいいですか?心配しないでくださ...

HTMLリンクを書くときは、HTTPリクエストを減らすためにサブフォルダに必ずスラッシュを追加してください。

サブフォルダーの末尾にスラッシュがない場合、2 つの HTTP リクエストが生成され、効率に影響しま...

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類...