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

推薦する

Linux環境にJDKとTomcatをインストールする詳細な手順

目次1. JDKをインストールする手動インストール2. トムキャット1. JDKをインストールする注...

単一選択折りたたみメニュー機能を実現するCSS

前回の「最もシンプルなスイッチを実現するCSS」のように、HTML5とCSS3でほとんどの機能をすで...

TeamCenter12 にログインする際の 404/503 問題の解決方法

TeamCenter12はアカウントのパスワードを入力し、ログインをクリックすると、404または50...

LinuxはNetworkManagerを使用してMACアドレスをランダムに生成します

今では、自宅のソファーに座っていても、外の喫茶店にいても、ノートパソコンの電源を入れてWi-Fiに接...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

フロントエンドの vue+express ファイルのアップロードとダウンロードの例

新しいserver.jsを作成する糸初期化 -y 糸を追加エクスプレスノードモン -D var ex...

CSS3で実装されたスライドメニュー

結果:実装コード: <!DOCTYPE html><html class=&quo...

HTML+CSS3+JSで実装されたドロップダウンメニュー

成果を達成する html <div class="コンテナ"> &l...

MySQLのファジークエリの要約

1. 一般的な使用法: (1)%で使用する% は 1 つ以上の文字のワイルドカードを表します。たとえ...

Reactはダブルスライダークロススライドを実装します

この記事では、Reactでダブルスライダークロススライドを実装するための具体的なコードを参考までに共...

JavaScript データ プロキシとイベントの詳細な分析

目次データブローカーとイベントObject.defineProperty メソッドのレビューデータブ...

MySQL データベースの Binlog 使用法の概要 (必読)

MySQL データベースにとって binlog バイナリ ログがどれほど重要であるかについては詳し...

Spark RDD をデータフレームに変換し、それを MySQL に書き込む例

DataframeはSpark 1.3.0で導入された新しいAPIで、Sparkで大規模な構造化デー...

LinuxサーバーにVueプロジェクトをデプロイする

ケース1 vue-cliはvue3プロジェクトをビルドし、プロジェクトをLinuxサーバーにアップロ...