docker - 尝试在 docker 容器中运行 tomcat8/rest api 应用程序组合 - 无法映射端口

标签 docker tomcat containers ports

美好的一天。我有 tomcat 8 和一个需要在 4 或 5 个容器中运行的 rest api 应用程序,用于测试客户端进程。 我的 Windows 10 机器上已经有一个 tomcat 8 实例,它连接到端口 8080,就像 tomcat 通常那样。 我的容器/镜像 tomcat 也设置为端口 8080,因此我可以浏览到“默认交换机”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:来自守护进程的错误响应:驱动程序在端点 musing_thompson 上编程外部连接失败(771e81801b1e20512aff36f6ec25544ca34a03181b8bd3a251f13c3edb328690):启动用户态代理时出错:mkdir/port/tcp:0.0.0.0:8081:tcp :172.17.0.2:8080: 输入/输出错误。

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

最佳答案

我也遇到了同样的问题。所以我所做的就是运行此命令 docker stop $(docker ps -a -q) 并重新启动 docker。有时简单地启动 docker 也可以正常工作。它对我有用。

关于docker - 尝试在 docker 容器中运行 tomcat8/rest api 应用程序组合 - 无法映射端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49865363/

相关文章:

java - 使用 servlet 在 WEB 文件夹中创建新目录不起作用

docker - 为docker机器和docker容器获取了相同的Ubuntu镜像,但docker-machine中提供了更多二进制文件

c++ - 关于 C++ STL 容器交换函数

docker - 对整个服务器使用docker镜像

macos - 调用 tcp 192.168.99.100 :2376: i/o timeout

docker 错误 : push is already in progress

docker - 停止容器如何使用 `docker-compose run` 运行

java - 突然不受支持的 major.minor 版本 52.0

java - Tomcat 服务器在 eclipse 中启动失败

python - 在 Python : delegating __contains__ to contained-object correctly 中模拟成员资格测试