パッケージマネージャの選択
GIS関連の環境構築はライブラリの依存関係が複雑らしく、python:3.x
ベースで構築するのは一手間ありそうなので、別の手段を考える。Anacondaは個人開発では問題ないが、会社で使う場合(商用利用)は有償になるので選択肢から外す。Minicondaは無償で利用可能だが、Anacondaのレポジトリから標準以外のパッケージをダウンロードして利用する場合は、有償ライセンスが必要とのことなので、こちらも選択肢から外す。mambaforge は conda-forge を公式チャネルにし、すべてオープンソース(MIT/BSD)ライセンスに限定されているため、Anaconda由来のライセンス制限を回避できるとのことでこれを採用する。
Dockerfileの記述と実行方法
Dockerfileは以下のように記述しておく。
FROM condaforge/mambaforge:latest AS builder
RUN set -x
RUN apt update -y && apt upgrade -y && \
apt install -y wget sudo vim && \
apt clean
RUN conda install -y -c conda-forge \
geopandas \
osmnx \
geopy \
streamlit \
plotly \
jupyter \
openpyxl \
geodatasets
Dockerfile をもとにDockerイメージをビルドする。
docker build -t test-image .
IMAGE IDを確認する。
docker images
Docker イメージ(491209e32a60
)からコンテナを起動し、名前をtest-imageとして特定のフォルダ(workdir
)やポート(8080
)のバインドもしておく。
docker run --name test-image -it --rm -v ~/test/workdir:/workdir -p 8080:8080 491209e32a60
これによりターミナル上でDockerコンテナ環境に入ることができる。
コードの編集
Pyrhonコードの編集はJupyter notebookで行う
jupyter notebook --allow-root --no-browser --port=8080 --ip=0.0.0.0
コメント