Windows11 WSL2 Ubuntu 24.04 LTS Docker miniconda3
docker-compose mini ファイル実行
Docker mini を動作させる準備が終わりました。
Docker Compose ファイルを実行していきます。
WSL2 Ubuntu 24.04 LTS ディスクトップ日本語からターミナルを開きます。
PowerShell 7 からでもターミナルを開くことができます。
PowerShell 7 追加インスト-ル参照。
コンテナフォルダ \d-minic-c に移動します。
yamada@yama:~$ cd d-minic-c
移動できたら次のコマンドを入力実行します。
yamada@yama:~/d-minic-c$ docker compose up
\d-minic-c にある docker-compose.yml でコンテナを構築します。
-d を付けるとバックグラウンド処理になってしまいます。
-d なしにします。
yamada@yama:~$ cd d-minic-c
yamada@yama:~/d-minic-c$ docker compose up
[+] Building 0.1s (9/9) FINISHED
=> [internal] load local bake definitions 0.0s => reading from stdin 497B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> transferring dockerfile: 520B 0.0s
=> [internal] load metadata for docker.io/continuumio/miniconda3:latest 0.0s
=> [internal] load .dockerignore 0.0s
=> transferring context: 2B 0.0s
=> [1/3] FROM docker.io/continuumio/miniconda3:latest 0.0s
=> CACHED [2/3] WORKDIR /app 0.0s
=> CACHED [3/3] RUN conda install pandas 0.0s
=> exporting to image 0.0s
=> exporting layers 0.0s
=> writing image sha256:3102e0a9663667b3c0359121f04b81eb71a0cf5b9122e1749f9ab61821dbd622 0.0s
=> naming to docker.io/library/d-minic-c-mini 0.0s
=> resolving provenance for metadata file 0.0s
[+] Running 2/2
✔ d-minic-c-mini Built 0.0s
✔ Container yamada-mini-1 Created 0.1s
Attaching to mini-1
mini-1 exited with code 0
# docker image 構築完了
# docker mini 起動
# ここから test.py が動作するか確認
yamada@yama:~/d-minic-c$ docker compose run mini bash
(base) root@281d9f25919d:/app# ls
test.py
(base) root@281d9f25919d:/app# cat test.py
import pandas as pd
h_list = [160,161,162,163,164]
h_series = pd.Series(h_list)
print(h_series)
# test.py を python3 で実行します。
(base) root@281d9f25919d:/app# python3 test.py
0 160
1 161
2 162
3 163
4 164
dtype: int64
(base) root@281d9f25919d:/app# exit ・・・ ①
yamada@yama:~/d-minic-c$ docker compose down --remove-orphans ・・・ ②
[+] Running 2/2
✔ Container yamada-mini-run-3777952bba6f R... 0.0s
✔ Network yamada_default Removed
yamada@yama:~/d-minic-c$
「孤立した(orphan)」警告
もし
yamada@yama:~/d-minic-c$ docker compose run mini bash で
WARN[0000] Found orphan containers ([yamada-mini-run-7a9923e734c7]) for this project.
If you removed or renamed this service in your compose file,
you can run this command with the --remove-orphans flag to clean it up.
のような警告が出たときは
yamada@yama:~/d-minic-c$ docker compose down --remove-orphans
で対処します。
過去の docker compose run で作成された 一時的なコンテナ(runコマンドによるもの)が、
今の docker-compose.yml に記載されていない「孤立した(orphan)」状態で残っている
と怒られます。
docker-compose.yml を編集してデバッグしているような時、
サービス名、コンテナ名、バインドするコンテナ内のディレクトリ等を使いまわしていると
出てしまいます。
①で exit したあとは②のように
$ docker compose down --remove-orphans
としてコンテナを停止すると同時に、孤立してしまうコンテナを削除しておきましょう。
ここまでで、miniconda + pandas(numpy) が動作するコンテナを構築することができました。
引き続き、これを拡張し
+ matplotlib + mplfinance + scikit-learn + tensorflow(keras)
が動作するコンテナを構築します。