[Docker][java]組み合わせ自由自在な開発環境を作りたいよ～

# Javaの設定めんどくせぇなぁ。。。
JDK入れて、Path通して…
しかも複数プロジェクトやっていてプロジェクトによって使うバージョン違うじゃんみたいな、
クソみたいな状況になったらプロジェクトやり始める前にPath通し直してみたいなしょうもない作業があったりで、
PC内がどんどん汚くなっていくね！

# ということで...
この業界入った当初から使っていたクソみたいに遅いEclipseとは、そろそろさよならバイバイしたいのもあるため、VSCodeとDockerでサクッとコンテナで複数バージョンのJavaの環境作っちゃえばいいじゃん！

# やってみたこと
備忘録も兼ねたメモメモ
## 用意するもの（Windowsユーザ限定
- VSCode（拡張機能で【Dev Containers】を入れてね
- Docker Desktop
- ちょっとのやる気（大事

## 手順（コンテナ環境作り）
### Dockerの設定ファイルを保存するためのフォルダ（Dockerにマウントするフォルダ）を作る
※Java21用のコンテナを作ってみたかったため、フォルダ名をJava21と言うクソネームにしてみた
![スクリーンショット 2025-02-17 154458.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/65341d02-ace6-48cf-a62f-3535bdd53e1a.png)


### VSCodeで上記フォルダを開いて、コマンドパレット（Ctrl + Shift +P）を開き、「Dev Container:Open Container Configration File」を選択。
![スクリーンショット 2025-02-17 155331.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/08183d9b-5774-4aca-ab17-8bef53bc511a.png)

### ワークスペースに構成を追加するを選択
![スクリーンショット 2025-02-17 155419.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/a9e3330d-7ebf-4b18-9fa0-d44881beabcf.png)


### どの環境を作る？みたいなダイアログがでてくるため「Java」って入れて1番上のやつを選択する
![スクリーンショット 2025-02-17 155601.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/0a44628a-db62-4a30-8fb6-e388b401b34a.png)

### 使いたいJavaのバージョンを選択する
![スクリーンショット 2025-02-17 155720.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/dc47b59a-cc4d-4978-8392-df80257de07e.png)

### ビルド環境どうする？みたいなことを聞かれるので、使いたい環境を選択する
![スクリーンショット 2025-02-17 155757.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/b90160e6-d50c-490b-b7f8-a9b82a16c0c3.png)

### 再度どの環境を作る？みたいなダイアログがでてくるため、一緒に他の言語や環境も追加したい（Nodeとか）場合は、選択肢ていく
もうお腹いっぱいの場合はOKをクリック
![スクリーンショット 2025-02-17 155601.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/0a44628a-db62-4a30-8fb6-e388b401b34a.png)

### オプションのファイル・ディレクトリとかでてくるので、とりあえず選択してOK
![スクリーンショット 2025-02-17 160157.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/4191c945-e4be-46c9-9799-8e552e337dae.png)

### 何か色々とファイルが作られる
![スクリーンショット 2025-02-17 161939.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/43601b4c-6634-4941-b20f-1703f1ab37bb.png)

これで、一旦Dockerで動かすための下準備はできた感じ。
キャプチャ上の右下にある「コンテナーで再度開く」をクリックすると、Dockerでコンテナが起動します。
※このあとに書くのは、2回目以降の起動のやり方的なアレです。


## 手順（コンテナ起動～プロジェクト作成とか）
### VSCodeを開いて、最初の手順で作ったフォルダを開く
![スクリーンショット 2025-02-17 163326.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/a1d90753-e4b8-4bc9-bf44-b92f8ee81212.png)

### 左下にあると思われる「＞＜」みたいなボタンを押して、「コンテナーで再度開く」を選択
![スクリーンショット 2025-02-17 163404.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/6904acea-0ca1-44bb-8b3d-85b928dad1d0.png)

### コンテナが起動して、VSCode上でコンテナのフォルダを参照するような状態に切り替わる
![スクリーンショット 2025-02-17 163541.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/9ff6757c-8644-485e-99ff-9b5c16039d0e.png)

### エクスプローラーで右クリックして「New Java Project...」を選択
![スクリーンショット 2025-02-17 164332.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/21995d31-4b71-4c87-be3d-4b4a0455bfed.png)

### 作りたいプロジェクトを選択してレッツ実装！
![スクリーンショット 2025-02-17 164436.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/d917517e-8b03-42b4-8df5-bdac40b96b46.png)

### 例）Mavenのarchtypeで適当に選んで作られたプロジェクトを実行してみた
![スクリーンショット 2025-02-17 165222.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/306f088b-dbce-4279-ba9b-5611701a2974.png)

## ね、簡単でしょ？
例えば、Java（SpringBoot）とNode（React/Vue）とかでプロジェクトを作りたいってなったときは、Java以外にNodeの環境を選択すればいいし、他の言語の環境とかを試したいときとかに直ぐに構築できるのはなかなか有り難い機能なのかなって気がしました。
また設定ファイルを共有すれば、全員が同じ環境で実装・実行が出来るという点もなかなかいいのではないかと。

# 【近況】レオパたちのご飯（グロ注意
コオロギってどんな環境で飼っていて、実際どんぐらい居るの？と言うのを公開（後悔
# （コオロギ）いないいない
卵の緩衝材を棲み処に入れてあげて、卵生むようにキッチンペーパーを大量に敷き詰めていたり、トイレットペーパーの芯でオブジェを作ってあげたりとストレスフリーな環境を心がけています。
<img width="250" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/6115d578-6c28-441e-b44d-5a5eaa0638c6.jpeg"/>

# ばぁ（いっぱいだね！）
<img width="350" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/996378/89c46adb-cf79-4eb2-b1c8-b244912d7e06.jpeg"/>
卵緩衝材やキチペをめくると大量に湧いて出て来ます。
※