2016-09-27 10 views
3

Dockerを使用してJupyterノートブックを提供し共有することを最終目標としてDockerを学習しました。以下の例Dockerfileです:start.shファイルのような見えDockerが提供するJupyter Notebookに接続できません

FROM python:2 
ENV PYTHONUNBUFFERRED 1 
RUN pip install jupyter 

RUN useradd --create-home --home-dir /home/docker --shell /bin/bash docker 
RUN adduser docker sudo 

ADD start.sh /home/docker/start.sh 
RUN chmod +x /home/docker/start.sh 
RUN chown docker /home/docker/start.sh 

ADD prod_sentiment.ipynb /home/docker/prod_sentiment.ipynb 
ADD output.txt /home/docker/output.txt 
RUN chmod +x /home/docker/output.txt 
RUN chown docker /home/docker/output.txt 

EXPOSE 8888 
RUN usermod -a -G sudo docker 
RUN echo "docker ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers 
USER docker 

ENV HOME=/home/docker 
ENV SHELL=/bin/bash 
ENV USER=docker 

RUN printenv 
CMD ./home/docker/start.sh 

#! /bin/sh 
echo 'starting' 
nohup jupyter notebook --no-browser > /home/docker/output.txt 

私はそれから:

docker build --rm -t 'test' . 
docker run -d -ti -p 8888:8888 test 

この時点から、私は私がナビゲートすることができるはずと推定でしょうlocalhost:8888に、Jupyter Notebookを参照してください。私がdocker exec -i -t container_id /bin/bash経由でコンテナに接続した場合、私はtail -f /home/docker/output.txtを使ってDockerコンテナからカールできることを確認できます。同様にps auwx | grep 'jupyter'は、JupyterノートブックWebサーバが動作していることを確認します。

Dockerfileにある8888:8888EXPOSINGのようにポートをバインドする以外に、何が欠けていますか? http://localhost:8888に接続すると、「localhostはデータを送信しませんでした」と表示されます。私はMacバージョン1.12.1-beta26.1ビルド用ドッカーを使用してい

は1200

答えて

6

あなたの問題は、jupyterのみデフォルトでは、ループバックインターフェイスをリッスンしているということです。これを変更するには、オプション--ip=0.0.0.0を指定してjupyterを実行します。これにより、コンテナ内のすべてのインタフェースでバインドされます。

編集:このin the jupyter documentationに関するさらに詳しい情報があります。さらにそのドキュメントで提供されている例:

# Add Tini. Tini operates as a process subreaper for jupyter. This prevents 
# kernel crashes. 
ENV TINI_VERSION v0.6.0 
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini 
RUN chmod +x /usr/bin/tini 
ENTRYPOINT ["/usr/bin/tini", "--"] 

EXPOSE 8888 
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0"] 
+0

ああ私の良さ。ハ!ありがとう!!!! –

関連する問題