我使用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.
我不知道如何解决此错误。任何帮助是极大的赞赏。提前谢谢。
答案 0 :(得分:5)
EXPOSE
是构建图像的人与运行容器的人之间的文档。见docker's documentation for more details。它不会影响发布端口的能力,也不会自动为您发布端口。
要发布端口(如果要从主机访问该端口),请使用撰写yml文件的docker run -p
或ports
部分。
或者如果您想从容器到容器进行通信,则无需发布端口。所需要的就是两个容器都在同一个docker网络上。