我正在尝试在Bluemix上设置一个接受UDP流量的容器,并使用TCP连接将其转发给Logentries。在本地运行容器时,我使用NetCat来模拟UDP流量,并看到它成功显示在TCP连接的目的地。
但是,当我尝试使用Bluemix容器服务启动基于相同映像的容器时,容器仍然处于“网络”状态,并且没有数据传输到目标。日志仅打印有关syslog-ng.conf文件中列出的版本的警告(本地运行时出现相同的警告),并且通过命令$
检查容器将返回有关cf ic inspect <container-id>
状态的以下部分:
Networking
需要注意的一点是,由于以下错误,我必须将名称服务器更改为"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"
},
(Google的DNS)以进行必要的域名解析:
8.8.8.8
您可以在Error resolving hostname; host='data.logentries.com'
Error initializing message pipeline;
Error resolving hostname; host='data.logentries.com'
Error initializing message pipeline;
找到我最初采用的Docker镜像的源代码。
所以我的问题是:
答案 0 :(得分:2)
&#39;网络&#39; state表示正在为您的Container创建网络,以便可以访问Container的公共IP和私有IP并将其路由到您的实例。当容器卡在网络上时,通常是基础设施问题,而不是你做过的任何事情。
请尝试删除您的容器并重新创建它以查看是否应解决此问题。如果没有,那么您需要打开Bluemix的支持票(通过支持链接&#39;获取Bluemix UI上的帮助)让IBM Containers团队调查您的Container出现问题的原因。
答案 1 :(得分:2)
Bluemix上的Docker容器尚不支持传入的UDP流量路由。据我所知,此功能已经计划用于未来的更新。 这是您的容器在本地工作正常的原因,但远程不接收流量。
答案 2 :(得分:0)
答案 3 :(得分:0)
您只需将UDP流量转发到Logentries,就无需切换到TCP。
答案 4 :(得分: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