我试图在fedora 22上构建一个rkt (rkt 0.6.1)容器(试验性poc),而且我似乎无法分配网络端口。我想我曾经运行过一次,但现在却失败了。它似乎不是特定的应用程序,我在不同的端口上尝试了httpd (80,8080,.),在不同的端口(8000,9876,.)上也尝试了python SimpleHTTPServer,它总是告诉我端口已经在使用了。
我已与ss -tulpen确认端口未在使用。我已经禁用了selinux和防火墙。这能是什么?
它似乎与我的容器有关,因为我能够运行预构建的etcd容器https://github.com/coreos/etcd/releases/download/v2.0.4/etcd-v2.0.4-linux-amd64.aci,它至少在本地主机上打开端口。
我的pyweb清单如下所示:
{
"acKind": "ImageManifest",
"acVersion": "0.6.1",
"name": "pyweb",
"labels": [
{ "name": "os", "value": "linux" },
{ "name": "arch", "value": "amd64" }
],
"app": {
"exec": [
"/usr/bin/python", "-m", "SimpleHTTPServer", "9876", "/var/www"
],
"user": "0",
"group": "0",
"ports": [
{
"name": "alt-http",
"port": 9876,
"protocol": "tcp",
"socketActivated": true
}
]
}
}使用此清单生成的应用程序将退出
[13678.750051] python[5]: socket.error: [Errno 98] Address already in use发布于 2016-04-21 05:31:11
您可能需要清理退出的容器,这将删除iptable规则。
rkt gc --grace-period=0s
在我的systemd服务文件中,我有以下行:
ExecStopPost=rkt gc --grace-period=0s
https://serverfault.com/questions/707554
复制相似问题