将SCTP端口从Docker容器暴露到主机

时间:2018-08-13 19:45:47

标签: docker containers sctp

我的Docker容器(sctp服务器)在端口号为36412的sctp上运行。但是,我在主机上的sctp客户端无法与该容器通信。如何将此端口从容器公开到主机?它与TCP / UDP不同吗? 当我运行docker run -p 36412:36412 myimage时,出现以下错误。

Invalid proto: sctp

2 个答案:

答案 0 :(得分:1)

reading source code中,docker run -p选项的一般形式为

docker run -p ipAddr:hostPort:containerPort/proto

至关重要的是,tcpudpsctp中的任何is allowed to be的“协议”部分;小写,如果未指定,则默认为tcp

对于您的应用程序来说,您应该可以

docker run -p 36412:36412/sctp ...

答案 1 :(得分:0)

在运行时使用-p标志将主机上的开放端口映射到容器端口。下面的示例将主机上的端口36412映射到容器中的36412。

docker run -p 36412:36412 mysctpimage

要查看容器上运行的端口以及它们映射到的端口:

docker port <containerId>

这将告诉您容器正在映射到主机的端口和协议。例如,运行一个简单的WebApi项目可能会产生: 80 / tcp-> 0.0.0.0:32768

Docker Port Documentation

How to publish or expose a port when running a container