美好的一天 . 我有tomcat 8和一个rest api应用程序,我需要运行4或5个容器,用于测试客户端进程 . 我已经在我的Windows 10机器上有一个tomcat 8实例,它在端口8080上连接,就像tomcat通常那样 . 我的容器/图像tomcat也设置为端口8080,所以我可以浏览到'Default Switch'的IP地址和端口8080,然后出现测试仪界面 .

但是由于需要多个docker实例,我正在尝试运行docker:'docker run -it -p 8081:8080 / bin / bash',因此我可以根据需要启动和停止容器tomcat . 根据我的研究,使用-p 8081:8080应该将容器tomcat端口(8080)映射到我的主机端口8081,这样我就可以使用'localhost:8081'来浏览部署在容器tomcat上的应用程序 .

当我用-p 8081:8080运行上面的命令时,我得到:

docker:来自守护程序的错误响应:驱动程序无法在 endpoints 上编程外部连接musing_thompson(771e81801b1e20512aff36f6ec25544ca34a03181b8bd3a251f13c3edb328690):启动userland代理时出错:mkdir /port/tcp:0.0.0.0:8081:tcp:172.17.0.2:8080:输入/输出错误 .

这是使用'-p'的正确方法,还是我混合了我的主机/端口?