まず初めに
いつぶりに開いただろうか、このQiita。
競馬の予想AIを作るといったきり結局、熱が尽きて
何もしなかったという悲しいオチ
ただ今回に関しては関しては本気でやりたいと思っている。
今回、開発の予定物はタスク管理ツール。
今回の開発に至ったワケ
今回の開発はなぜ本気でやりたいのかというと、
タスク管理ツールに不満があるから。
これに尽きる。いやまじで
ガントチャートベースのexcelで管理をしているが、
これがまた使いにくい。
フィルターが使いにくいだとかなんとかいろいろ文句があり、
このツール開発に乗り出した。
今回の開発でやりたいこと
- Dockerを使って、環境構築から実際の開発までやること
- SQLCipherに触れてみること
- PythonでGUIアプリを作ってみること
大きくはこの3つかなと、他にも色々考えていることは
ありつつもこれらが優先だと思っている。
では早速、環境構築
まずは環境構築というところで、Dockerをインストールしていく。
ダウンロードは下記URLから
今回はWindowsでの開発・利用想定なので、Windows x64版をダウンロード
そもそもDockerって、なんやねんっていうのは、
自分もあまりわかっていないが、PC本体の環境に
影響を与えないように仮想環境を作ってその中で、
開発ができる程度の認識。(あっているかもわからん)
Dockerの解説は、先人がいっぱいやってくれているので、
そちらを読むこととしよう。
ダウンロードが終わったら、早速インストールしていく。
インストーラーのチェックデフォルトのままでインストールしとくのが安牌かな・・・?
インストール後PCを再起動して、Dockerを起動。
WSLのインストールを促されるのでインストールする。
Windows上でLinuxを動作させるための機能らしい。
そういう機能が搭載されたというのは聞いていたが、
実際に使うことになるとは。
WSLのインストールが終わったらDockerの起動を待つ。
正直、Dockerわからんすぎてこの時点で
めちゃ悩んだのは秘密
minicondaの環境をdocker上につくる
まずはDドライブ辺に適当なworkフォルダを作る
今回のパスはこんな感じで
D:\Work\TASK_MANAGE
TASK_MANAGEフォルダ上に「Dockerfile」という名前の
ファイル(拡張子も消しておく)を作成する
FROM ubuntu:24.04
# 環境変数の設定
ENV PATH=/opt/conda/bin:$PATH \
SHELL=/bin/bash \
DEBIAN_FRONTEND=noninteractive \
TZ=Asia/Tokyo
# システムパッケージのインストール
RUN apt-get update && apt-get upgrade -y && \
apt-get install -y python3 python3-pip python3-dev wget curl git cmake gnupg software-properties-common build-essential && \
rm -rf /var/lib/apt/lists/*
# Miniconda3のインストール
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda && \
rm Miniconda3-latest-Linux-x86_64.sh
# condaの初期設定
RUN /opt/conda/bin/conda init bash && \
echo ". /opt/conda/etc/profile.d/conda.sh" >> /root/.bashrc
# 【修正】利用規約(ToS)への同意を追加し、環境を一括作成
RUN /opt/conda/bin/conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main && \
/opt/conda/bin/conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r && \
/opt/conda/bin/conda create -n dev python=3.12 numpy pandas matplotlib scikit-learn jupyter pylint pytest black -c defaults -y && \
echo "conda activate dev" >> /root/.bashrc
# Jupyterの設定
RUN mkdir -p /root/.jupyter && \
/opt/conda/envs/dev/bin/jupyter notebook --generate-config && \
echo "c.ServerApp.ip = '*'" >> /root/.jupyter/jupyter_notebook_config.py && \
echo "c.ServerApp.port = 8888" >> /root/.jupyter/jupyter_notebook_config.py && \
echo "c.ServerApp.allow_root = True" >> /root/.jupyter/jupyter_notebook_config.py
# 作業ディレクトリの設定
WORKDIR /workspace
# Jupyterのポートを公開
EXPOSE 8888
# コンテナ起動時のコマンド
CMD ["bash", "-c", ". /opt/conda/etc/profile.d/conda.sh && conda activate dev && /opt/conda/envs/dev/bin/jupyter notebook --allow-root --ip=* --port=8888 --no-browser"]
どうやらDocker上でminicondaを使うにはubuntuのインストールが必要らしい
このDockerfileをイメージ化するコードは以下
docker build -t Akihisa/dev:1.0 -f Dockerfile ./
イメージの名前「Akihisa/dev」と
タグ「:1.0」がどうも必須らしい
このイメージの作成に数時間かかった。
そもそも参考元のところに辿り着くまでに、
いろいろなところを行脚し、失敗しを繰り返し、
ここに至る。
参考にしたサイトは下記に記載するが、
参考元の内容では素直にインストールできなかったので、
Geminiにエラーを投げつけると、
TOSに同意してないであかんやでと
なんやそれ・・・知らん。
が、賢いGeminiはDockerfileを直してくれたので、
それをそのまま使わせてもらった。
そのままDockerのGUI上からイメージを選んで
「RUN」をクリックするととりあえず、コンテナの
作成までたどり着けた
これ、素人が手を出していいもんなんやろか・・・の気持ちである
まあでも、とりあえずコンテナまで作れて実行環境は得られたので、
今日はここまで
次回予告的な
次回は、作ったコンテナにリモートアクセスして、
pythonのコードを実行できるようにするところを
整備したいと思う。
ほなまた(^^)/~
参考文献・サイトなど
Docker入門:インストールと基本操作 作成者:金子邦彦
miniconda+conda-forgeでの開発環境をDockerでそろえる
docker環境にツールを導入していくためのベースイメージを作る。
Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門