Docker Jupyter 镜像没有暴露端口

Docker Jupyter image not exposing port

我使用 alpine linux 创建了 Jupyter docker 图像。一切正常,但容器没有暴露端口。但是在容器内部,端口正在工作。但是我无法从我的主机访问。

我写了如下图的镜像文件:

FROM vanarajaz/alpine-python

MAINTAINER Vanaraj C "vanaraj@assistanz.com

"RUN python3 -m pip install --upgrade pip && \

python3 -m pip install jupyter

EXPOSE 8888

CMD [ "jupyter", "notebook" ]

创建容器后,出现以下错误:

[I 13:32:34.019 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret[C 13:32:34.592 NotebookApp] Running as root is not recommended. Use --allow-root to bypass.From:Vanaraj
[I 13:32:34.019 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret[C 13:32:34.592 NotebookApp] Running as root is not recommended. Use --allow-root to bypass.

我不知道如何修复这个错误。任何帮助是极大的赞赏。提前致谢。

EXPOSE 是构建镜像的人和 运行 容器的人之间的文档。参见 docker's documentation for more details。它不会影响发布端口的能力,也不会自动为您发布端口。

如果您想从您的主机访问它,要发布该端口,请使用 docker run -p,或您的 compose yml 文件的 ports 部分。

或者,如果您想在容器之间进行通信,则无需发布端口。您所需要的只是两个容器都在同一个 docker 网络上。