我已经使用 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
或撰写yml文件的ports
部分。
或者,如果您希望在各个容器之间进行通信,则无需发布端口。您所需要做的就是将两个容器都放在同一个docker网络上。
关于docker - Docker Jupyter镜像未公开端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48383205/