jupyterlabのdockerコンテナを作りなおすのを生成AIに手伝ってもらう
使う場面 jupyterlabってのはpythonとかをちょっと試したいときとかに使う。勉強で参照した小さな処理の実行とか、pythonの処理の習作とかを動かすから、ないと困る。 似たようなものでgoogleのcolabとかあるけど、機密情報をそんなところでホイホイ扱うと、業務で必要な加工のためとはいえ勝手に顧客データアップロードすることになってしまう。 色々考えて、pythonをインタプリタっぽく使うときはdocker環境のjupyterlab一択。 バージョンアップ jupyterlabのdockerコンテナにログインして、たまに手動でpipからバージョンアップしてる。 これを久しぶりにdockerイメージから作り直したいから、gemini先生に手伝ってもらおっかな。 3年ぐらい前にjupyter をdocker-composeで使い始めて、ほぼ当時のdockerイメージをそのまま使ってた。 今回はdockerファイルの中でpip系のインストールするモジュールをダラダラ書くんやなくて、requirements.txtを使うようにしたいなぁ。 自分用のdocker compose構成とかあるし、gemini先生に聞いてみて参考にさせてもらおっか。 やりたいこと こんな感じのことやりたい。プロンプト作るときの元にする。 pythonのバージョンをrc版でない最新に上げる(dockerhubで公開されているpythonのバージョン確認したもの使う) 今までdockerファイルに書いてたpip系のインストールをrequirements.txtで指定するように変更する(今回実現したいこと) グラフ描いたときに日本語扱えるようにする(dockerイメージをビルドするときに日本語フォント入れる) 今まで作業で作ったテキストやipynbを維持して使う(使う側には必須ね) docker-composeやなくてdocker compose環境で使って公開ポートを指定して使う(compose.ymlってリクエストしたらやってくれるやろか) なんも知らんフリをして書いてもらう。 大事なのは、自分の環境にフィットさせるのは自分でやらないといけない。 生成AIは大筋8〜9割ぐらいあっているものを提供してくれるけど、だいたい残りの1割ぐらいは自分で書き直して使う必要があるんよね。 「こう書こう」ってモヤっとしたイメージあるけど、gemini先生に補助してもらいましょ。 dockerhubの確認 ビルドするときにはdockerhubの公開モジュールを使う。 jupyterlabのもあるんやけど、種類が多すぎてどれ使うねんって感じ。 https://hub.docker.com/u/jupyter できるだけofficialイメージをベースにしておいて必要なものは追加してビルドするから、pythonをベースイメージにしといてjupyterlabのモジュールをpipで追加して使いましょ。 タグにslimってついてるのが小さめのイメージやから、それをdockerfileのfrom指定で使う。 3.14がそろそろメインになりそうやけど、rcってついてるから今は3.13使うかな。 https://hub.docker.com/_/python gemini先生に問う 具体的に何をどう作るか考えてみる。 1 2 3 4 5 6 docker composeで以下の条件で、jupyterlabをビルドするためのdockerfileとcompose.yml定義を作って ・jupyterlabではなくpython3.13.3-slim-bookwormをベースにしてdockerfileを定義 ・requirements.txtを使ってjupyterlab/matplotlib/scikit-learnを指定 ・pythonで日本語ゴシックフォントを扱う ・公開ポートは21088を使う ・compose.ymlで永続化領域workspaceは./nariDockerDat/sv_jupyter/を指定して pythonのmatplotlibでグラフを描くとき、タイトル・縦軸・横軸・判例とかに日本語使いたい場合があるんやけど、そのときはフォントを入れとかな表示うまいことできん。 あと、ポート番号と永続化領域は他にも動かしてるコンテナあるからちゃんと指定したいから、そういうことも加味して考えてくれたら嬉しいなぁ。 gemini先生の応答 質問してみたらすぐに答えが戻る。 ...