#背景
機械学習を用いて分析環境を構築したかったため『データ収集からWebアプリ開発まで実践で学ぶ機械学習活用ガイド』という書籍で学習をしていたが、docker-composeを用いた際にjupyter-notebookは起動するもののpythonを動かせない状況に陥ってしまった。
#目的
- M1 Macでdocker-composeを用いてjupyter-notebookを正常に動かすこと
- docker-composeについてなんとなく理解すること
#環境(M1 Mac)
実行環境 | 想定環境 | |
---|---|---|
Docker Desktop | 4.1.1 | |
Docker Engine | 20.10.8 | 18.0.9.1 |
Docker Compose | 2.0.0 | 1.23.2 |
#現状起きているエラー
背景で記述したように、jupyter-notebookを起動してlocalhostにアクセスすることはできるが、画像のようにコードを実行してもそもそも実行されない。
docker-composeを終了してSTATUSを見てみると**exited(143)**で終了したことがわかる。この情報から色々調べてみる。
#解決策
##Docker Desktop for mac 4.0.1にダウングレード
https://githubmemory.com/repo/The-Japan-DataScientist-Society/100knocks-preprocess/issues/98
いろいろ検索しているうちに私と同じような症状に陥っている記事をみつけたが、どうやらDocker Desktopのバージョンによる問題とのこと。試しにダウングレードしてみる。想定環境であるEngineが18.0.9.1となっているバージョンにする。
結果、以下のようにコードを実行できた。
参考書籍にはdocker環境の作り方について特に言及されていなかったため検索窓に打ち込んでdocker環境を用意した。以下画像の公式サイトからダウンロードした。
このサイトを見ると、以下のように記述されている。
Docker Desktop は任意の開発ツールや言語と連携しながら、 Docker Hub 上にある、認定イメージとテンプレートの巨大なライブラリにアクセスできるようにします。これにより、開発チームは環境を拡張したり、素早い自動ビルドをしたり、継続的インテグレーションや、安全なリポジトリを用いた共同作業が可能になります。