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-logentries
find我最初采用的Docker镜像的源代码。
所以我的问题是:
- Bluemix容器的“networking”状态是什么意思?
- 为什么我的容器在本地工作,但不在Bluemix上?
Bluemix上的Docker容器不支持传入的UDPstream量路由。 据我所知,此function已经计划在未来更新。 这是您的容器在本地正常工作的原因,但远程不会收到stream量。
“networking”状态意味着正在为您的容器创buildnetworking,以便您的容器的公共和私有IP可以被访问并路由到您的实例。 当容器卡在networking上时,它通常是基础设施的问题,而不是你所做的任何事情。
请尝试删除您的容器,并重新创build它,看看是否应该解决这个问题。 如果不是,则需要打开Bluemix的支持凭单(通过Bluemix UI上的“获取帮助”支持链接),让IBM Containers团队调查Container发生问题的原因。
- 容器是否能够从端点获得响应?
您只需将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