python - 为什么无法在浏览器中访问正在运行的 Docker 容器?
问题描述
这是我的码头文件:
FROM python:3.8
WORKDIR /locust
RUN pip3 install locust
COPY ./ /locust/
EXPOSE 8089
CMD ["locust", "-f", "locustfile.py"]
这是回应:
Starting web interface at http://0.0.0.0:8089 (accepting connections from all network interfaces)
Starting Locust 1.2.3
但是当我尝试在浏览器中访问它时 - 它没有加载。我觉得我可能错过了一些简单的东西,但找不到它。
解决方案
EXPOSE 8089
此语句只会公开您的端口以进行容器间通信,但不会向主机公开。
为了允许主机在容器端口上进行通信,您需要在 docker run 命令中绑定主机和容器的端口,如下所示
docker run -p <HOST_PORT>:<CONTAINER:PORT> IMAGE_NAME
在你的情况下将是
docker run -p 8089:8089 IMAGE_NAME
推荐阅读
- excel - 带有行标签的多维查找(2 行和 1 列)
- windows-server-2012-r2 - 在 Windows Server 2012 r2 上连接到 Oracle 18c XE 时出现问题
- javascript - 检查对象中是否存在键**在任何级别**
- reactjs - 如何防止 npm run build 删除构建中的目录
- javascript - 尝试使用引导程序和 js 对列表进行排序
- typescript - 如何在编译时捕获子类型对超类型的分配?
- angular - TypeError:无法读取未定义的属性“employeeName”
- java - 如何操纵 Instant 添加两天和基于字符串的时间?
- javascript - 解压缩器忽略空目录
- javascript - 错误:“找不到模块 'react-search-input' 的声明文件”