Bluemix容器状态显示“networking”

我正在尝试在Bluemix上设置一个容器,该容器接受UDP通信并使用TCP连接将其转发给Logentry。 在本地运行容器时,我使用NetCat来模拟UDPstream量,并且看到它成功显示在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" }, 

需要注意的是,由于出现以下错误,我必须将名称服务器更改为8.8.8.8 (Google的DNS)以获取必要的域名parsing:

 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-logentriesfind我最初采用的Docker镜像的源代码。

所以我的问题是:

  1. Bluemix容器的“networking”状态是什么意思?
  2. 为什么我的容器在本地工作,但不在Bluemix上?

Bluemix上的Docker容器不支持传入的UDPstream量路由。 据我所知,此function已经计划在未来更新。 这是您的容器在本地正常工作的原因,但远程不会收到stream量。

“networking”状态意味着正在为您的容器创buildnetworking,以便您的容器的公共和私有IP可以被访问并路由到您的实例。 当容器卡在networking上时,它通常是基础设施的问题,而不是你所做的任何事情。

请尝试删除您的容器,并重新创build它,看看是否应该解决这个问题。 如果不是,则需要打开Bluemix的支持凭单(通过Bluemix UI上的“获取帮助”支持链接),让IBM Containers团队调查Container发生问题的原因。

  1. 容器是否能够从端点获得响应?

您只需将UDPstream量转发到Logentries,就不需要切换到TCP。

也许可以configurationsyslog-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中A 54.228.220.150