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

推薦する

JS でクリップボード API を使用する方法

目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...

リクエスト数を制限するために Ajax 同時リクエストを実装するために js を使用するサンプル コード

問題の説明: 非同期リクエストの数が不確定な場合、数百の http リクエストが瞬時に発生したときに...

js の getBoundingClientRect() メソッドの詳細な説明

1. getBoundingClientRect() 分析getBoundingClientRect...

Zabbix と bat スクリプトを組み合わせて複数のアプリケーションの状態を監視する方法

シナリオシミュレーション:国内企業の中には、重要な業務をサポートするために特定のウィンドウ プログラ...

Ubuntu 16.04 に Docker と nvidia-docker をインストールするための詳細なチュートリアル

目次DockerのインストールNvidia-docker のインストールDockerのインストール1...

ホバー画像のポップアウトポップアップ効果を実現するための純粋な CSS のサンプルコード

実施原則メイングラフィックは、背景と前景の 2 つの要素で構成されています。次のサンプルコードでは、...

MySQL の異常なエラー ERROR: 2002 を解決する方法

最近、MySQL の起動中にエラーが発生しました。エラー メッセージは次のとおりです。 エラー 20...

MySQLのグローバルロックとテーブルロックに関する詳細な理解

序文ロックの範囲に応じて、MySQL のロックは、グローバル ロック、テーブル ロック、行ロックに大...

Vue が配列の変更を監視できない問題の解決方法

目次1. Vueリスナー配列2. vueが配列の変更を監視できない状況1. Vueリスナー配列Vue...

crontab スケジュールされたタスクが実行されない理由の分析と解決

序文Linux のスケジュールされたタスクを実装する方法としては、cron、anacron、at な...

Ubuntu 18仮想マシンのクローン作成後に同じIPアドレスになる問題の解決方法

序文最近、仮想マシンを使用して Ubuntu 18.04 をインストールしました。クローン作成後、I...

mysql 5.7.19 最新バイナリインストール

まず、公式ウェブサイト http://dev.mysql.com/downloads/mysql/ ...

Docker ベースの GitLab 環境をデプロイする方法と手順

注意:仮想マシンのメモリは2G以上が推奨され、 Alibaba Cloudのアクセラレーションイメー...

Alibaba Cloud Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します (グラフィック チュートリアル)

ステップ1: サードパーティの信頼できるSSL証明書に署名するAlibaba Cloud で直接、無...

Vueは製品の拡大鏡効果を実現します

この記事の例では、製品の拡大鏡効果を実現するためのVueの具体的なコードを共有しています。具体的な内...