Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

#docker ps チェック、すべてのポートがマップされています

コンテナID イメージ コマンド 作成ステータス ポート名
764B158BA491 OPEN-FALCON-PLUS-02:V-DAIYI-01 "/BIN/BASH" 2日前に0.0.0.0:444->4444/TCP、0.0.0.0.0:6030-6031-> 6030-6031/TCP CP、0.0.0.0:6080-6081->6080-6081/TCP、0.0.0.0:8080-8081-> 8080-8081/TCP、0.0.0.0:8433-> 8433/TCP > 14444/TCP、0.0.0.0:16060->16060/TCP、0.0.0.0:18433->18433/TCP、8082/TCP Open-Falcon-Plus-Daiyi-01

#しかしログを確認してください

末尾 -40 /home/work/open-falcon/agent/logs/agent.log
test@ubuntu-10:/tmp/bak$ テール -40 /home/work/open-falcon/agent/logs/agent.log
2018/10/14 20:27:09 transfer.go:48: Transfer.Update の呼び出しが失敗しました: &{{2 1} <nil> 10.0.10.103:8433 1s} ダイヤル tcp 10.0.10.103:8433: getsockopt: 接続が拒否されました
2018/10/14 20:27:09 var.go:95: <= <合計=0、無効:0、遅延=0ms、メッセージ:>
2018/10/14 20:27:09 rpc.go:41: ダイヤル 10.0.10.103:8433 失敗: ダイヤル tcp 10.0.10.103:8433: getsockopt: 接続が拒否されました
2018/10/14 20:27:11 rpc.go:41: ダイヤル 10.0.10.103:8433 失敗: ダイヤル tcp 10.0.10.103:8433: getsockopt: 接続が拒否されました
2018/10/14 20:27:15 rpc.go:41: ダイヤル 10.0.10.103:8433 失敗: ダイヤル tcp 10.0.10.103:8433: getsockopt: 接続拒否
2018/10/14 20:27:23 rpc.go:41: ダイヤル 10.0.10.103:8433 失敗: ダイヤル tcp 10.0.10.103:8433: getsockopt: 接続が拒否されました
2018/10/14 20:27:23 transfer.go:48: Transfer.Update の呼び出しが失敗しました: &{{0 0} <nil> 10.0.10.103:8433 1s} ダイヤル tcp 10.0.10.103:8433: getsockopt: 接続が拒否されました
2018/10/14 20:27:23 var.go:95: <= <合計=0、無効:0、遅延=0ms、メッセージ:>
2018/10/14 20:27:41 var.go:88: => <合計=92> <エンドポイント:ubuntu、メトリック:agent.alive、タイプ:GAUGE、タグ:、ステップ:60、時間:1539574061、値:1>
2018/10/14 20:27:41 var.go:88: => <合計=5> <エンドポイント:ubuntu、メトリック:df.bytes.free.percent、タイプ:GAUGE、タグ:mount=/、fstype=ext4、ステップ:60、時間:1539574061、値:67.01861018345224>

しかしアクセスできない

理由:

dockerのホストは127.0.0.1または192.168.0.1で設定できません。そうしないとホストマシンがポートにアクセスできなくなります。

構成ファイルを変更します (関係するすべてのファイルと外部アクセスを必要とするファイルを変更する必要があります)

[root@ubuntu-10 open-falcon]# vim 転送/config/cfg.json
{
  「デバッグ」:true、
  "最小ステップ": 30,
  "http": {
    「有効」:true、
    "聞く": "0.0.0.0:6060"
  },
  "rpc": {
    「有効」:true、
    "listen": "0.0.0.0:8433" **#ここで外部の8433をリッスンします。0.0.0.0に変更します**
  },
  「ソケット」: {
    「有効」:true、
    "聞く": "0.0.0.0:4444",
    「タイムアウト」: 3600
  },
  "裁判官": {
    「有効」:true、
    「バッチ」: 200,
    "接続タイムアウト": 1000,
    "コールタイムアウト": 5000,
    "最大接続数": 32,
    "最大アイドル": 32,
    「レプリカ」: 500,
    「クラスター」: {
      「ジャッジ-00」:「127.0.0.1:6080」
    }
  },
  「グラフ」: {
    「有効」:true、
    「バッチ」: 200,
    "接続タイムアウト": 1000,
    "コールタイムアウト": 5000,
    "最大接続数": 32,
    "最大アイドル": 32,
    「レプリカ」: 500,
    「クラスター」: {
      "グラフ-00" : "127.0.0.1:6070"
    }
  },
  "tsdb": {
    「有効」: false、
    「バッチ」: 200,
    "接続タイムアウト": 1000,
    "コールタイムアウト": 5000,
    "最大接続数": 32,
    "最大アイドル": 32,
    「再試行」: 3,
    「アドレス」: 「127.0.0.1:8088」
  }

変更後、dockerでサービスを再起動します。

[root@ubuntu-10 open-falcon]# ./open-falcon 転送を再開する

ログをもう一度確認してください

test@ubuntu-10:/tmp/bak$ テール -40 /home/work/open-falcon/agent/logs/agent.log 
2018/10/15 02:52:48 var.go:88: => <合計=1> <エンドポイント:test-endpoint、メトリック:test-metric-97、タイプ:GAUGE、タグ:idc=lgi-test、loc=beijing-test、ステップ:20、時間:1539597168、値:33>
2018/10/15 02:52:48 var.go:95: <= <合計=1、無効:0、遅延=0ms、メッセージ:ok>
2018/10/15 02:52:48 var.go:88: => <合計=1> <エンドポイント:test-endpoint、メトリック:test-metric-97、タイプ:GAUGE、タグ:idc=lgi-test、loc=beijing-test、ステップ:20、時間:1539597168、値:33>
2018/10/15 02:52:48 var.go:95: <= <合計=1、無効:0、遅延=0ms、メッセージ:ok>
2018/10/15 02:52:48 var.go:88: => <合計=1> <エンドポイント:test-endpoint、メトリック:test-metric-97、タイプ:GAUGE、タグ:idc=lgi-test、loc=beijing-test、ステップ:20、時間:1539597168、値:33>
2018/10/15 02:52:48 var.go:95: <= <Total=1, Invalid:0, Latency=0ms, Message:ok> #接続に成功しました。データが受信されています。

ポートの接続を確認する

test@ubuntu-10:/tmp/bak$ telnet 10.0.10.103 8433
10.0.10.103 を試しています...
10.0.10.103 に接続しました。
エスケープ文字は '^]' です。#これは問題ありません

OK〜正常に接続できました。

補足: Dockerイメージは正常に起動しましたが、アクセスできません

解決:

vi /etc/sysctl.conf または

vi /usr/lib/sysctl.d/00-system.conf 次のコードを追加します。

ネット.ipv4.ip_forward=1

ネットワークサービスを再起動する

systemctl restart network を実行して、変更が成功したかどうかを確認します。

sysctl net.ipv4.ip_forward 戻り値が「net.ipv4.ip_forward = 1」の場合、成功を意味します。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • Docker ポート マッピングと外部アクセス不可の問題
  • Docker ポート マッピングを使用してネットワーク アクセスを実現する方法
  • Dockerは複数のポートマッピングコマンドを有効にします
  • Dockerボリュームのファイルマッピング方法
  • Docker ファイルの保存パス、ポート マッピング操作モードの変更
  • Docker プライマリ ネットワーク ポート マッピング構成
  • 実行中のDockerコンテナのポートマッピングを変更する方法

<<:  2列の水平タイムラインを実装するためのVueサンプルコード

>>:  CSS3 で King of Glory マッチング人員読み込みページを実装する方法

推薦する

Docker コンテナのカスタム ホストのネットワーク アクセス操作

docker-compose.yml に extra_hosts キーワードを追加すると、コンテナの...

VMwareワークステーションとデバイス/資格情報の非互換性によって発生する起動エラーについて

VMware Workstationsが仮想マシンエラーを起動する エラー レポートのリンク htt...

Nginxはhttpリクエスト実装プロセス分析を処理する

Nginxはまず、設定ファイル内のどのserver{}ブロックを処理に使用するかを決定します。次のs...

IDEA の Docker プラグインを介して Springboot プロジェクトを公開する方法の詳細なチュートリアル

1. Dockerfileを書く(1)プロジェクト名を右クリックして新しいテキストファイルを作成し、...

MySQL 8.0.12 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.12のインストールと設定方法を記録してみんなで共有します。 1. インストール1...

MySQL の制限使用法とページングクエリステートメントのパフォーマンス分析の詳細な説明

使用制限クエリ ステートメントを使用する場合、多くの場合、データの最初の数行または中間行を返す必要が...

CocosCreatorでスワイプした位置にテクスチャを表示する方法

目次1. プロジェクト要件2. 文書の内容3. プロジェクト例4. プロジェクトコード1. プロジェ...

MySQLの行ロックとテーブルロックの意味と違いの詳細な説明

1. はじめに行ロックとテーブルロックの違いは面接で頻繁に出てくるはずです。MySQL のロックにつ...

HTML テーブルタグチュートリアル (26): セルタグ

<TD> タグの属性は、テーブル内のセルのプロパティを設定するために使用されます。表 &...

Nginx設定の原理と実装プロセスの詳細な説明https

Linuxユーティリティcertbotを使用してhttps証明書を生成するこのツールは Let&#...

Linux環境にMySQLデータベースをインストールする詳細なチュートリアル

1. データベースをインストールする1) yum -y install mysql-server (...

CentOS 7 で NFS ファイル共有ストレージ サービスを構築するための完全な手順

序文NFS (Network File System) は、ネットワーク ファイル システムを意味し...

Tomcatアーキテクチャの原則をアーキテクチャ設計に分析する

目次1. 学習目標1.1. Tomcatアーキテクチャの設計と原則をマスターして社内スキルを向上させ...

JSON.parse と JSON.stringify の使い方の詳細な説明

目次JSON.パースJSON.parse 構文リバイバーパラメータJSON.parse の機能その他...

一般的な HBase 運用および保守ツール 10 個の概要

概要: HBase には、ユーザーに管理、分析、修復、デバッグ機能を提供するための多くの操作および保...