私はUbuntu 15.10でPysparkjupyter/pyspark-notebook。依存関係のあるfoliumをインストールし、コンテナーにPysparkスクリプトを実行する必要があります。 Dockerを正常にインストールし、イメージをプルして、コマンドで実行しました
docker run -d -p 8888:8888 -p 4040:4040 -v /home/$MYUSER/$MYPROJECT:/home/jovyan/work jupyter/pyspark-notebook
次に、問題なくコード例を実行します
import pyspark
sc = pyspark.SparkContext('local[*]')
# do something to prove it works
rdd = sc.parallelize(range(1000))
rdd.takeSample(False, 5)
私は/opt/conda
でconda環境を探しました( documentation で言うように)が、/opt
フォルダにcondaがありません。次に、すべての依存関係を持つminiconda3とfoliumを通常のPythonパッケージ(Dockerは含まれません)としてインストールしました。
動作しません。画像を実行してimport folium
でパッケージをインポートしようとすると、Foliumパッケージが見つかりません。
ImportErrorTraceback (most recent call last)
<ipython-input-1-af6e4f19ef00> in <module>()
----> 1 import folium
ImportError: No module named 'folium'
したがって、問題は2つの質問に減らすことができます。
最初の質問に答えるためにconda環境はどこにありますか?コンソールで実行するだけです$ docker my_containers_name ls /opt/conda
。
2番目の質問には2つのオプションがあります。
次のコマンドを実行して、コンテナーコンソールを開くことができます
$ docker exec -it my_containers_name /bin/bash
そして通常のcondaパッケージのようにパッケージをインストールします
conda install --channel https://conda.anaconda.org/conda-forge folium
DockerイメージのDockerfileを変更したり、以前のイメージを拡張した新しいファイルを作成したりできます。新しいDockerfileを作成して行を追加するには
FROM jupyter/minimal-notebook
USER jovyan
RUN conda install --quiet --yes --channel https://conda.anaconda.org/conda-forge folium && conda clean -tipsy
そして、新しいイメージを構築します。元のDockerfileを変更する場合は、最初の行をスキップする必要があります。
元のプロジェクト をフォークすることで、独自の Dockerfile を作成します。
コメントありがとう warmoverflow および ShanShan