ドッカーホストのホスト名を、そのホスト上のドッカーコンテナ内から env vars なしで取得する方法
質問
dockerホストのホスト名を、そのホスト上で動作するコンテナの内部から取得する方法には、環境変数を使用する以外にどのようなものがありますか? コンテナ作成時に環境変数としてホスト名をコンテナに渡せることは知っています。 実行時にどのように調べればいいのか悩んでいます。
foo.example.com (docker host)
bar (docker container)
コンテナ
bar
で動作しているコンテナを、Docker ホスト
foo.example.com
を実行して、"foo.example.com"を取得しますか?
ユースケースを追加するために編集します。
コンテナはフォームのサービス検出のためにSRVレコードを作成します。
_service._proto.name. TTL class SRV priority weight port target.
-----------------------------------------------------------------
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo.example.com.
ここで、20003 は bar の固定ポートでリッスンしているサービス用に docker ホスト上で動的に割り当てられたポートです (docker はホストポートからコンテナポートへのマッピングを処理します)。
私のコンテナは、SRV レコードが正常に作成されたことを確認するためにヘルスチェックを実行します。
_service._proto.name. TTL class SRV priority weight port target.
-----------------------------------------------------------------
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo.example.com. <--
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo2.example.com.
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo3.example.com.
ヘルスチェックはSRVレコードをループして上記の最初のレコードを探しますので、そのホスト名を知る必要があります。
脇
使っているのは ヘリオス を使っているのですが、これが を追加していることがわかりました。 を追加し、そこからホスト名を取得できることがわかりました。しかし、私はちょうど私がHeliosなしでdockerを使用していた場合のために好奇心を持っていました。
どのように解決するのですか?
ホスト名を環境変数として渡すことができます。 また、/etc をマウントして、/etc/hostname を cat できるようにすることもできます。 しかし、私は Vitaly と同意します。これはコンテナの意図されたユースケースではないのです。
関連
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] Dockerイメージはホストマシン上のどこに保存されていますか?
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
-
[解決済み] Kubernetesの秘密を解き明かす
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] docker イメージの sha256 コードはどこで確認できますか?
-
[解決済み] docker unauthorized: 認証が必要 - ログインに成功するとプッシュされる
-
[解決済み] Dockerfileで親イメージからエントリポイントを削除する方法
-
[解決済み] Kubernetesの秘密を解き明かす
-
[解決済み] docker-composeで引数を渡すには?
-
[解決済み] Docker EE (Enterprise Edition)、Docker CE (Community Edition)、Docker (Custom Support) の違いは何ですか?
-
[解決済み] dockerを1.12にアップデートした後、イメージをpull/pushすることができません。
-
[解決済み] docker swarmスタック内の1つのサービスを再起動する
-
[解決済み] .gitlab-ci.yml で docker-compose build を実行する。
-
[解決済み] dockerのHyperKitで作成したVMにアクセスする方法を教えてください。