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