为什么无法在浏览器中访问 运行 Docker 容器?

Why cannot access a running Docker container in browser?

这是我的 dockerfile:

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

此语句只会公开您的端口以供 inter-container 通信,但不会公开给主机。

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

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

你的情况是

docker run -p 8089:8089 IMAGE_NAME