English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

どのようにしてdockerが動的に割り当てたポートを取得するか

1. 理由

クラスタ環境で、dockerでサービスを起動する必要がある場合、常に固定の公開ポートをdockerで実行するサービスに指定すると、サービスのデプロイの柔軟性とメンテナンス性が非常に制限されます。サービスが起動した後にドキュメントに動的に割り当てられたポートを簡単に取得する方法はありますか?

2. 解決策

Dockerはportのサブコマンドを提供しています。具体的な使用方法は以下の通りです:

docker port <container-name> |cut -d:' -f2

3. 次の問題

この方法は、外部サービスに対するサービス登録のシーンに限られています

サービス登録がサービスプログラム内で完了している場合(例えばzookeeperに報告されている場合など)、現在のところ方法はありません。issueがあります3778どのタイミングでdockerが提供されるか、まだわかりません

まとめ

これでこの記事のすべての内容が終わりました。この記事の内容が皆様の学習や仕事に役立つことを願っています。何か疑問があれば、コメントで交流してください。

基本教程
おすすめ