😽

データサイエンス100本ノック(構造化データ加工編)環境構築

2022/11/16に公開

データサイエンス100本ノックの実行環境をOracle Linux 8 で構築してみました。

データサイエンス100本ノック(構造化データ加工編)とは??

https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess
とても親切な方がSQL,Python,Rでデータサイエンスで必要な構造化データの操作を練習できるツールをご用意してくださり、しかもDockerで動かせるようです!
今回はその環境構築を実施してみました。

母体マシンの用意

よくあるのはWindowsOSに仮想でホストOSを構築してその上にDockerを立てる手段が多いです。
あとはMacに直接Dockerを立てる手段をよく見かけます。
私の場合は自身のマシン環境を汚したくないのでOCIのFreeTireアカウントで使える無料のOracle Linux 8インスタンスで構築しました。
※ただし無料インスタンスなのでスペックが低すぎてまともに動作しませんでした。。

Oracle Linux 8にて環境構築

Dockerのインストール

下記記事を参照
https://zenn.dev/kyami/articles/15185192395cb7

docker-composeのインストール

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

gitのインストール

sudo yum install git -y

データサイエンス100本ノック用Dockerイメージの取得と実行

sudo git clone https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess
cd 100knocks-preprocess/
sudo docker-compose up -d --build

アクセス先URLの変更

母体マシンがWindowsやMacならデフォルトの設定(localhost)で利用できますが、
今回はクラウド上にあるマシンで構築しており、グローバルIPを持っているのでグローバルIP経由でアクセスできるようにします。

Dockerの停止

sudo docker-compose stop

Dockerfileのバックアップを取得とコンフィグ修正

cd 100knocks-preprocess/
sudo cp -p dockerfiles/notebook/Dockerfile dockerfiles/notebook/Dockerfile.bak
sudo vi dockerfiles/notebook/Dockerfile
修正箇所
diff dockerfiles/notebook/Dockerfile dockerfiles/notebook/Dockerfile.bak
19c19
< HEALTHCHECK --interval=5s --retries=20 CMD ["curl", "-s", "-S", "-o", "/dev/null", "http://***.***.***.***:8888"]
---
> HEALTHCHECK --interval=5s --retries=20 CMD ["curl", "-s", "-S", "-o", "/dev/null", "http://localhost:8888"]

Dockerの起動

sudo docker-compose up -d --build

ブラウザでアクセスしてみる


以上で環境構築完了です。

Discussion