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

推薦する

CSS 属性セレクタを使用して HTML DNA を接合する方法

CSS 属性セレクターは素晴らしいです。大量のクラス名を追加することを回避し、コード内の問題を指摘す...

CSS で子 div の高さを親コンテナの残りのスペースに合わせる方法

1. フローティング方式を使用する効果画像: コードは次のとおりです: (.content の高さは...

MySQLデータベースの増分バックアップのアイデアと方法

MySQL データベースの増分バックアップを実行するには、データベース構成ファイル /etc/my....

Linux 負荷分散 LVS の詳細な理解

目次1. LVS 負荷分散2. 負荷分散LVSの基本紹介3. LVSアーキテクチャ3.1 ロードバラ...

MySQL 基本チュートリアル: DML ステートメントの詳細な説明

目次DMLステートメント1. レコードを挿入する2. 記録を更新する3. シンプルなクエリレコード4...

nginx.conf ファイルの構文強調表示とフォーマット設定には nginx.vim ツールを使用します。

私はtengineを使用しています。インストールディレクトリは/usr/local/tengineで...

HTML で中国語を UTF-8 に変換する方法

HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...

Vue3 でパンくず関数コンポーネントをカプセル化するいくつかの方法

目次序文1. パンくずリストはなぜ必要なのでしょうか? 2. 一次包装1. 実装のアイデア2. コー...

vmware14Pro で Ubuntu システム インターフェイスが小さすぎる問題の解決方法の詳細な説明

1. 動作環境vmware14proウブントゥ 16.04LTS 2. 問題の説明vmware14P...

Vueは州、都市、地区のカスケード選択を実現します

最近、省、市、地区のカスケード選択効果を実装する必要があります。省、市、地区のデータはすべてローカル...

Linux の一般的なコマンドとショートカット キーの紹介

目次1 システムの紹介2 システムショートカット3 一般的なシステムコマンド1 システムの紹介 1....

WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記...

MySQL 8の新機能ウィンドウ関数の役割

MySQL 8.0 の新機能は次のとおりです。 Unicode 9.0 をすぐに完全にサポートウィン...

CSS を使用して半透明の背景と不透明なテキストを実現する例

この記事では、CSS を使用して半透明の背景と不透明なテキストの効果を実現する方法の例を紹介します。...