@hayashi hayashi authored on 13 Oct
data JDK version openJDK 21 1 month ago
img h2 1.4.214 1 month ago
src `src` フォルダ 12 months ago
.gitignore gitignore 11 months ago
Dockerfile task-bldg:0.2.2 1 month ago
README.md READMEに加筆 1 month ago
run.sh JDK version openJDK 21 1 month ago
README.md

docker "TASK-BLDG"

フォルダ構成

hayashitooru-no-Mac-mini:
. /home/hayashi/docker/task-bldg
├── Dockerfile
├── README.md
├── data
│   ├── h2.sh
│   ├── h2-1.4.200.jar
│   └── taskdb.mv.db
└── src
    ├── start.sh
    └── task-bldg.war
  • ./src/に、task-bldg.warを配置する。
  • ./data/フォルダの*.dbファイルはない場合は自動的に生成されます。
  • taskdb.mv.db : h2-1.4データベースのデータ。h2-2系のデータとは互換性がない。過去の入力データはこのファイル内に格納されているため このファイルをここに配置することでデータの移行が完了する。新規にデータベースを作成するときは、このファイルを削除してから task-bldg.war を起動すると、新規に taskdb.mv.db が作成されます。

build

macmini:/home/hayashi/docker/task-bldg/Dockerfile

Dockerfile を用意する

```Dockerfile
FROM openjdk:11
EXPOSE 8083
VOLUME /usr/src/data

COPY src/task-bldg.war /usr/src/task-bldg.war

WORKDIR /usr/src/data
ENTRYPOINT ["java", "-jar", "/usr/src/task-bldg.war"]
```

build command

  • (1) 予め、 docker.service を起動しておく

      $ sudo systemctl status docker.service
      ● docker.service - Docker Application Container Engine
           Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
           Active: active (running) since Sat 2024-10-12 13:06:22 JST; 24min ago
      TriggeredBy: ● docker.socket
             Docs: https://docs.docker.com
         Main PID: 8964 (dockerd)
            Tasks: 11
           Memory: 669.4M (peak: 874.1M)
              CPU: 21.972s
           CGroup: /system.slice/docker.service
                   └─8964 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
  • (2) build して docker image を作成する docker build -t task-bldg:0.2.1 ./

$ cd ~/docker/task-bldg/

$ docker build -t task-bldg:0.2.2 ./
    DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
                Install the buildx component to build images with BuildKit:
                https://docs.docker.com/go/buildx/

    Sending build context to Docker daemon  112.9MB
    Step 1/6 : FROM openjdk:11
     ---> 47a932d998b7
    Step 2/6 : EXPOSE 8083
     ---> Using cache
     ---> 1817ca9a9392
    Step 3/6 : VOLUME /usr/src/data
     ---> Using cache
     ---> 430ab8e7f55d
    Step 4/6 : COPY src/task-bldg.war /usr/src/task-bldg.war
     ---> df9dfb0a4cf1
    Step 5/6 : WORKDIR /usr/src/data
     ---> Running in d5d7a5cf6f34
    Removing intermediate container d5d7a5cf6f34
     ---> 86b78bb9b3c6
    Step 6/6 : ENTRYPOINT ["java", "-jar", "/usr/src/task-bldg.war"]
     ---> Running in d56f09d712ad
    Removing intermediate container d56f09d712ad
     ---> fcbf09842af0
    Successfully built fcbf09842af0
    Successfully tagged task-bldg:0.1.19
$

起動

作成された docker の image を起動する

```
$ docker run -id --name TASK-BLDG -v /home/hayashi/docker/task-bldg/data:/usr/src/data -p 8083:8083 task-bldg:0.2.2 /bin/sh
105f4c0795542cd0189483e504c036f84e89556f03d00fe3f01dfeb5fd145e00
$
```
  • 起動された dockerコンテナを確認する。

      $ docker ps -a
      CONTAINER ID   IMAGE              COMMAND                   CREATED         STATUS                          PORTS     NAMES
      105f4c079554   task-bldg:0.1.19   "java -jar /usr/src/…"   4 minutes ago   Exited (1) About a minute ago             TASK-BLDG
      $
  • task-bldg が起動するまで 20~30秒ほどかかります。

  • Webブラウザから http://localhost:8083/task-bldg にアクセスする。

    Webブラウザ

その他の設定

  • 停止した dockerコンテナを再度起動する
$ docker start -ai TASK-BLDG

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::               (v2.7.18)

2024-10-12 05:38:59.421  INFO 1 --- [           main] osm.surveyor.task.TaskBldgApplication    : Starting TaskBldgApplication v0.2.1 using Java 21 on 671cb4d8737c with PID 1 (/usr/src/task-bldg.war started by root in /usr/src/data)
2024-10-12 05:38:59.428  INFO 1 --- [           main] osm.surveyor.task.TaskBldgApplication    : No active profile set, falling back to 1 default profile: "default"
2024-10-12 05:39:01.332  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2024-10-12 05:39:01.461  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 104 ms. Found 3 JPA repository interfaces.
2024-10-12 05:39:02.722  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8083 (http)
2024-10-12 05:39:02.748  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2024-10-12 05:39:02.749  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.83]
 :
 :

その他の設定は下記を参照のこと