2015-10-14 52 views
3

我正在嘗試在Bluemix上設置一個容器,該容器接受UDP流量並使用TCP連接將其轉發給Logentry。在本地運行容器時,我使用NetCat模擬UDP流量,並看到它成功顯示在TCP連接的目的地。Bluemix容器狀態顯示'Networking'

但是,當我嘗試使用Bluemix容器服務啓動基於相同映像的容器時,容器仍處於「網絡」狀態,並且沒有數據傳輸到目標。

"Path": "date", 
"ResolvConfPath": "/etc/resolv.conf", 
"State": { 
    "ExitCode": 0, 
    "FinishedAt": "0001-01-01T00:00:00Z", 
    "Ghost": "", 
    "Pid": 1, 
    "Running": true, 
    "StartedAt": "2015-10-14T19:45:43.000000000Z", 
    "Status": "Networking" 
}, 

:日誌僅由命令cf ic inspect <container-id>返回有關Networking狀態以下部分打印容器的大約在syslog-ng.conf是否文件中列出的版本的警告(當在本地運行相同的警告),並檢查有一點要注意的是,我不得不名稱服務器更改爲8.8.8.8(谷歌的DNS)進行必要的域名解析,由於以下錯誤:

Error resolving hostname; host='data.logentries.com' 
Error initializing message pipeline; 
Error resolving hostname; host='data.logentries.com' 
Error initializing message pipeline; 

您可以找到泊塢窗圖像的源代碼,我原採用在https://github.com/oinopion/syslog-ng-logentries

所以我的問題是:

  1. 什麼是一個Bluemix容器的「聯網」狀態是什麼意思?
  2. 爲什麼我的容器在本地工作,但不在Bluemix上?

回答

2

Bluemix上的Docker容器不支持傳入UDP流量路由。就我所知,此功能已經計劃用於將來的更新。 這是您的容器在本地正常工作的原因,但遠程不會收到流量。

+0

感謝您的信息!我們將使用TCP代替。 – shawnzhu

0
  1. 容器是否能夠從端點獲得響應?
0

您只需將UDP流量轉發到Logentries,就不需要切換到TCP。

+0

不,無論使用TCP還是UDP,logentries都需要發件人的特定IP地址:請參閱https://logentries.com/doc/input-plaintcpudp/ – shawnzhu

2

'網絡'狀態表示正在爲您的容器創建網絡,以便您的容器的公共和私有IP可以被訪問並路由到您的實例。當容器卡在網絡上時,它通常是基礎架構的問題,而不是你所做的任何事情。

請嘗試刪除您的容器並重新創建它,看看是否應該解決它。如果不是,那麼您需要打開Bluemix的支持憑單(通過Bluemix用戶界面上的「獲取幫助」支持鏈接)讓IBM Containers團隊調查您的Container發生問題的原因。

0

也許配置syslog-ng直接連接到與攝取節點關聯的IP之一。

任何一擊都應該有效。

data.logentries.com. 105 IN A 54.217.225.23 
data.logentries.com. 105 IN A 54.217.226.18 
data.logentries.com. 105 IN A 54.246.89.117 
data.logentries.com. 105 IN A 54.217.226.8 
data.logentries.com. 105 IN A 79.125.113.75 

data.logentries.com。 105 IN A 54.228.220.150