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にTomcatコンテナを追加したときにホームページにアクセスできない問題の解決方法

質問docker run コマンドを使用して、tomcat コンテナが正常に追加されました。ポートも...

現在のMySQL接続数を表示する方法の詳細な説明

1. 現在のすべての接続の詳細情報を表示します。 ./mysqladmin -uadmin -p -...

MySQL CHARとVARCHARの選択方法

目次VARCHAR 型と CHAR 型結論: VARCHAR 型と CHAR 型VARCHAR と ...

Hadoop 3.2.0 クラスターの構築に関する一般的な考慮事項

1つのポートの変更バージョン 3.2.0 では、ネームノード ページ ポートは 9870、データノー...

Vueは単純なランダムロールコールを実行します

目次レイアウト部分: <div id="アプリ"> <p>...

MySQL InnoDB ロックの概要

目次1. 共有ロックと排他ロック2. 意図ロック3. レコードロック4. ギャップロック5. ネクス...

mysql5.6 マスタースレーブ設定と非同期の問題の詳細な説明

目次1. MySQL マスタースレーブレプリケーションの原理2. MySQLのコンパイルとインストー...

js 配列エントリ() 反復メソッドを取得する

目次1.entires() メソッドの詳細な構文2.entires() メソッドの一般的な使用法と注...

よく使うLinuxコマンドのまとめ

私は2年間運用保守に携わり、多くのコマンドを使用しました。特定のLinuxコマンドを習得すると、どれ...

MySQLはconnect_by_isleaf MySQLメソッドまたはストアドプロシージャに似た機能を実装します

最近、特に異常なビジネス需要があり、テーブルがあります テーブル「デモ」を作成します( `id` i...

ORM を使用して MySQL にデータを追加する手順

【序文】 ORM を使用してデータベース内のデータを操作する場合、前提として、新しい ORM モデル...

MySQL でデータの重複挿入を回避する 4 つの方法

最も一般的な方法は、フィールドに主キーまたは一意のインデックスを設定することです。重複データを挿入す...

Vue における LocalStorage と SessionStorage の違いと使い方

目次LocalStorageとはSessionStorageとはLocalStorage と Ses...

データベースアカウントのパスワード暗号化の詳細な説明と例

データベースアカウントのパスワード暗号化の詳細な説明と例データベースアカウントとパスワードはデータベ...

Tomcat をアンインストールして再インストールする方法 (画像とテキスト付き)

tomcat9をアンインストールする1. Tomcatのインストールはディレクトリに解凍するだけで...