docker ubuntu 23.04でjava/mavenを使う

TL;DR

  • vscodeのDev Containerでubuntu23.04(Lunar Lobster)をベースに環境を作る
  • java/mavenを利用できる環境にする
  • 最小構成

設定方法

project rootに .devcontainer フォルダを作成 .devcontainer/Dockerfile を作成する

 1
 2FROM ubuntu:23.04
 3
 4RUN apt-get update
 5RUN apt-get install -y openjdk-18-jdk maven
 6RUN apt-get install -y wget unzip git fontconfig vim curl
 7
 8# lang
 9RUN apt-get install -y language-pack-ja-base language-pack-ja locales sudo
10RUN locale-gen ja_JP.UTF-8

.devcontainer/docker-compose.yml を作成する

 1version: '3'
 2
 3services:
 4  app:
 5    build:
 6      context: ..
 7      dockerfile: .devcontainer/Dockerfile
 8
 9    ports:
10      - '8080:8080'
11
12    tty: true

.devcontainer/devcontainer.json を作る

 1{
 2  "name": "some project name",
 3  "dockerComposeFile": "docker-compose.yml",
 4  "service": "app",
 5  "workspaceFolder": "/workspace",
 6  "customizations": {
 7    "vscode": {
 8      "settings": {
 9        "editor.defaultFormatter": "esbenp.prettier-vscode",
10        "editor.formatOnSave": true,
11        "editor.formatOnPaste": true,
12        "editor.formatOnType": true,
13        "editor.detectIndentation": false,
14        "editor.tabSize": 2,
15        "editor.insertSpaces": true,
16        "files.insertFinalNewline": true,
17        "files.trimFinalNewlines": true,
18        "terminal.integrated.defaultProfile.mac": {
19          "path": "/bin/bash"
20        },
21        "terminal.integrated.defaultProfile.linux": "bash",
22        "terminal.integrated.defaultProfile.windows": "bash",
23        "files.exclude": {
24          "**/build": true
25        },
26        "files.watcherExclude": {
27          "**/build": true
28        }
29      },
30      "extensions": ["esbenp.prettier-vscode", "vscjava.vscode-java-pack"]
31    }
32  }
33}