で実行するドッキングウィンドウを作成し、コンテナを実行するには、-pでポートマッピング規則を指定することができます。しかし、私たちはしばしば最初はポートマッピングを設定または変更することが間違っているニーズを設定することを忘れ遭遇します。ドッキングウィンドウが起動して起動すると、コンテナは、-pオプションや設定を提供していませんが、指定したポートマッピングルールを変更してみましょう。したがって、このような状況はどのように我々はそれに対処することができますか?今日ドッカー6月には、ドッキングウィンドウコンテナのポートマッピングの動作を変更する方法を教え?
方法の一つ:新しいコンテナを再構築するには、元の容器を削除します
最も簡単な解決策は、元のコンテナを削除、再構築されました。もちろん、ポートマッピングを追加することを忘れないでください。
長所と短所:長所は、より多くのテスト環境で、簡単かつ迅速です。欠点は、データベースミラーリング場合は、もう一度再構成し、より多くのトラブルを再構築という点です。
方法2:変更、コンテナの設定ファイルは、ドッキングウィンドウのサービスを再起動します
コンテナ設定ファイルのパス:
-
/var/lib/docker/containers/[hash_of_the_container]/hostconfig.json
ハッシュ値であることを特徴とhashofthecontainerドッカーミラーはドッカーPSによって閲覧又はcontainernameドッカーを検査することができます。(CONTAINER IDを見ることができます)
容器の内部に対応する前記8080 / TCPポート8080は、文書がPortBindingsである、上記のように、のHostPortはのHostPortに対応し、容器ポート8361の内部にホスト9190.8361 / TCPの相当の対応するポートにマッピングされますこれは、ホストのポート9191にマッピングされています。オンデマンドポートを変更し、ドッキングウィンドウのサービスを再起動し、その上にコンテナサービスを開始します。
-
systemctl restart docker
長所と短所:この方法の利点は、操作が副作用なし、簡単なことです。欠点は、ストップドッキングウィンドウコンテナに最初にして、全体のドッキングウィンドウのサービスが再起動し、複数のコンテナサービスを実行している場合は、同じホスト上で、それは他のコンテナサービスに影響します。
方法3:ドッキングウィンドウを使用すると、新しいコンフィギュレーション・ミラーリングをコミット
ドッキングウィンドウは、コミット:ファイルと変更構成情報のコンテナは、新しいイメージをコミットします。これは、新しいドッキングウィンドウミラーにテスト、およびコンテナの変更にすべてのファイルおよび構成情報のために非常に役立つこと、そして重いコンテナからこの新しいイメージを使用しますが、これに先立って、コンテナには何の効果もありません。
1、ストップドッカー容器
-
docker stop container01
2、コンテナのドッキングウィンドウをコミット
-
docker commit container01 new_image:tag
3、再1つの容器から新たに生成された画像に前のステップ
-
docker run --name container02 -p 80:80 new_image:tag
長所と短所:このアプローチの利点は、それが統一ホスト上の他のコンテナには影響を与えませんが、欠点は、より多くの混沌とした経営を思えあり、第二の方法はとても直感的ではありません。