Docker

A collection of 7 posts
DockerとVS Codeで作るJava開発環境(JDK11)— ローカルを汚さずに学習・実行まで
IT

DockerとVS Codeで作るJava開発環境(JDK11)— ローカルを汚さずに学習・実行まで

Dockerで「ローカルを汚さない」Java開発をする Javaの学習やちょっとした検証を始めるとき、地味に困るのが開発環境です。 * PCにJDKを入れると、バージョン違いでハマる * 既存の開発環境と競合する * 別PCへ移したときに再構築が面倒 そこでおすすめなのが Dockerコンテナ内にJDKを用意して、VS Codeで編集するやり方です。 この方法なら「PC側はほぼ手を入れず」、コンテナを起動するだけで 同じJDK11環境をいつでも再現できます。 この記事では、VS Codeの Dev Containers を使って、JDK11(Temurin)でJavaをコンパイル・実行する最小構成を作ります。 ゴール * ローカルにJDKを入れずにJavaを実行できる * VS Codeで編集し、コンテナ内のJDK11で javac / java が使える * ディレクトリを丸ごとコピーしても同じ環境で動く 前提 * Docker(Docker Engine / Docker Desktop のどちらでもOK) * VS Code * VS Cod
3 min read
Kubernetes で Jakarta EE(Payara)業務システムを動かすときの考慮点と注意点
IT

Kubernetes で Jakarta EE(Payara)業務システムを動かすときの考慮点と注意点

近年、業務システムでも「コンテナ化して Kubernetes で可用性と運用性を上げたい」という要望が増えています。しかし、Jakarta EE(特に Payara Server)を単純にコンテナへ入れるだけでは、Kubernetes の恩恵を最大化できません。 この記事では、業務システムを Payara Server で構築している場合に Kubernetes 化する際、必ず押さえるべきポイントをまとめます。クラウド環境としては Oracle Cloud(OKE)を前提にしていますが、考え方自体はどのK8sにも共通します。 1. 「Payara Server をそのままクラスタリング」は原則しない GlassFish 系の標準的なクラスタリング(DAS を中心としたドメイン管理)は、**「ノードが固定される前提」**の設計です。一方 Kubernetes では Pod は“消えるもの”であり、再スケジュールされ、IP
3 min read
Kubernetes(K8s)の勉強方法
IT

Kubernetes(K8s)の勉強方法

KubernetesはGoogleが開発し、2014年にオープンソース化されました。 Kubernetes とは | Google CloudKubernetes(K8s)は、コンテナ化されたアプリをどこにでもデプロイ、スケール、管理できるオープンソースのシステムです。Google Cloud が Kubernetes を簡素化する仕組みをご覧ください。Google Cloud Kubernetesを勉強しようとすると、最初のハードルが意外と高いですよね。 そんな中、Google には Kubernetes を学習するための教育コンテンツとハンズオンラボが用意されています。 しかもラボ環境は 無料で利用可能。 「Kubernetes に興味はあるけれど、なかなか踏み出せなかった」という方にも、ぜひ挑戦していただきたい内容です。 クラウド環境に不慣れな方でも大丈夫です。 コンピュートインスタンスの作成、ストレージバケットの操作、IAM の設定、ファイアウォールの設定、Web サーバーの導入といった、Kubernetes を学ぶ前段階の基礎知識もしっかり学べるため、安心
2 min read
ChatGPTのエージェントだけでWebアプリを作成する
IT

ChatGPTのエージェントだけでWebアプリを作成する

数日前に、私の環境でもChatGPTのエージェントが使えるようになったので、早速試してみました。 エージェントへの切り替え ChatGPTのテキスト入力欄の[ツール]から「エージェントモード」を選択します。 今回は「情報源」として「ウェブ検索」を選択しました。 プロンプト プロンプトには、下記を入力して実行してみます。 Ubuntu24.04上で下記の要件のアプリケーションを作成したい。 - Git Hub上にあるDockerイメージを利用 - ITセキュリティに関連する書籍の情報を入力・更新・削除できるWebアプリケーションを作成 - プログラミング言語はPythonを使用 - Pythonとデータベースとのやり取りはORMを使用 - フレームワークを使用してもよい。 応答 約4分後に下記が出力されました。 承知しました。Ubuntu 24.04環境で、GitHub上のDockerイメージを利用し、ITセキュリティ関連書籍をCRUD操作できるPython Webアプリケーションを構築します。ORMを使用してデータベースとのやり取り
5 min read
【Oracle Linux】GhostのDockerへの移行
IT

【Oracle Linux】GhostのDockerへの移行

■概要 Ghostをアップデートしたところ、Oracle Linux 8に入っている画像処理のライブラリが、Armベースに対応していないとエラー表示されてしまいました。 そこで、DockerhubにARM対応のGhostイメージがあったので、そちらに移行することにしました。 ■環境 Armベースのインスタンス Oracle Linux 8 nginx MariaDB ■作業手順 1. 現在のGhostのバックアップ Ubuntu環境ではないため、ghost backupが正常に終了しないので、手動でバックアップします。 # ($…の部分は自分の環境に合わせてください) # DBのバックアップ $ mysqldump -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" > "$BACKUP_DIR/db-$DATE.sql" # Ghostのコンテンツフォルダ(/var/
2 min read
【LoRA】少ないデータで、AIモデルをチューニングする
IT

【LoRA】少ないデータで、AIモデルをチューニングする

概要 今回は、画像生成モデルStable Diffusionを使って、当ブログの英語の記事で登場するEmiさんのイラストが簡単に生成できるようにしたいと思います。 そのために、LoRAという技術を使います。 LoRA(Low-Rank Adaptation)とは、AIモデルのファインチューニングを効率的に行うための技術です。特に大規模言語モデル(LLM)や画像生成AIの微調整に用いられ、少ない計算資源で高品質なカスタマイズを可能にします。 LoRAは、モデルの重みを直接変更するのではなく、低ランクの行列を挿入して学習することで、従来のファインチューニングよりも少ない計算コストで高い性能を維持できます。 🧠 LoRAの数学的な挿入位置 元の重み W を以下のように拡張します: W' = W + α * (BA) A:低ランクの行列(学習する) B:低ランクの行列(学習する) α:スケーリング係数(学習時や推論時に設定) この BA 部分だけが学習され、元の W は固定のままです。     📌 実行時(推論時)の仕組み LoRAで生成
7 min read
DockerでOpen WebUI+Ollama環境を簡単構築!
IT

DockerでOpen WebUI+Ollama環境を簡単構築!

LLMを手軽に使う方法とGPUトラブル対処法 1. はじめに ローカル環境で大規模言語モデル(LLM)を試したいけれど、難しそう…と思っていませんか? 今回は、Docker を使って、話題の Open WebUI と Ollama を簡単に構築し、手軽にLLMを使える環境を作る方法をご紹介します。 さらに、私が実際にハマった「GPUが認識されない問題」とその対処法も【補足】としてまとめました! 2. Open WebUI+Ollamaとは? * Ollama:ローカルでLLMを動かせるエンジン。各種モデル(例:Gemma、Llama3など)を簡単に利用可能。 * Open WebUI:Ollamaをブラウザから操作できる便利なフロントエンド。 この2つを組み合わせることで、まるでChatGPTのようにローカル環境でLLMが扱えるようになります! 3. Dockerを使った構築手順 ① 必要環境 * Docker & Docker Compose v2 がインストール済みであること ② docker-compose.
3 min read