首页 > 解决方案 > 为什么无法在浏览器中访问正在运行的 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

但是当我尝试在浏览器中访问它时 - 它没有加载。我觉得我可能错过了一些简单的东西,但找不到它。

标签: pythondockerdockerfilelocust

解决方案


EXPOSE 8089

此语句只会公开您的端口以进行容器间通信,但不会向主机公开。

为了允许主机在容器端口上进行通信,您需要在 docker run 命令中绑定主机和容器的端口,如下所示

docker run -p <HOST_PORT>:<CONTAINER:PORT> IMAGE_NAME

在你的情况下将是

docker run -p 8089:8089 IMAGE_NAME

推荐阅读