Newer
Older
task-bldg / README.md
@yuuhayashi yuuhayashi on 7 Oct 5 KB task-bldg:0.5.3
## 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-0.5.2.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-0.5.2.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.5.2 ./`

```
$ cd ~/docker/task-bldg/

$ docker build -t task-bldg:0.5.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.5.2 /bin/sh
    105f4c0795542cd0189483e504c036f84e89556f03d00fe3f01dfeb5fd145e00
    $
    ```

- 起動された dockerコンテナを確認する。

    ```
    $ docker ps -a
    CONTAINER ID   IMAGE              COMMAND                   CREATED         STATUS                          PORTS     NAMES
    105f4c079554   task-bldg:0.5.2   "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ブラウザ](img/Screenshot001.png)


### その他の設定

- 停止した 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]
 :
 :
```


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

- github: [yuuhayashi/task-bldg](https://github.com/yuuhayashi/task-bldg/blob/master/README.md)