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 マッチング人員読み込みページを実装する方法

推薦する

Vue3 ドキュメント クイックスタート

目次1. セットアップ1. セットアップ関数の最初のパラメータ - props 2. 文脈2. セッ...

IDEA 2020 で Tomcat サーバーを構成するための詳細な手順

IDEA 2020 で Tomcat を構成する手順は次のとおりです。最初のステップはTomcatを...

Net Core実装プロセス分析のDoc​​kerインストールと展開

1. Dockerのインストールと設定 #CentOS をインストールし、Docker パッケージを...

MySQL が大規模トランザクションを避けるべき理由とその解決方法

何が大問題ですか?長時間実行され、長時間コミットされないトランザクションは、大規模トランザクションと...

Sqoop エクスポート マップ 100% 削減 0% さまざまな理由と解決策でスタック

私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...

Vueはカードフリップ効果を実現します

この記事では、カードフリップ効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...

Docker インストール rocketMQ チュートリアル (最も詳細)

RocketMQ は、Alibaba が設計した分散型のキューベースのメッセージング ミドルウェア...

JavaScriptでよく使われる配列重複排除実戦ソースコード

アレイの重複排除は、通常、就職面接中に遭遇し、アレイの重複排除方法のコードを手動で記述することが求め...

Reactは適応性の高い仮想リストを実装する

目次変換前:変換後: 0x0の基本0x1 「固定高さ」の仮想リストを実装する原理:最適化: 0x2 ...

MySql の null 関数の使用の共有

MySql の null に関する関数IFNULL ISNULL NULLIF IFNULL使用法:...

JavaScriptの動作メカニズムの詳細な説明とイベントループについての簡単な説明

目次1. JavaScript がシングルスレッドなのはなぜですか? 2. タスクキュー3. イベン...

div が iframe に覆われるいくつかの状況とその解決策

類似の構造:コードをコピーコードは次のとおりです。 <div></div>&...

MySQLはイベントを使用してスケジュールされたタスクを完了します

イベントでは、SQL コードを 1 回または一定の間隔で実行することを指定できます。通常、複雑な S...

Vueは画像のドラッグと並べ替えを実装します

この記事の例では、画像のドラッグと並べ替えを実装するためのVueの具体的なコードを参考までに共有して...

Linux での NTP サーバー設定の詳細な手順

目次1. 環境設定1.NTPサーバー2. ビジネスサーバー2. NTPサーバーの設定1. chron...