tsurugidbをubuntuとWindowsのwslで試しました

1.概要

知人からtsurugidbのリリース案内のネット記事紹介をうけて、早速、動かしてみました。ubuntu-22.04ベースと記載されていますが、Docker環境ならばUbuntu-20.04でも動作すると考えてチャレンジしましたが、動作しません。ネットでWindowsのWSL2で動作したとの記事を見つけて、再度チャレンジして動作しました。この内容を記述します。

2.詳細

(a) ubuntu-20.04での試験

通常利用しているDocker環境で実行。Docker-hubでなく、Gitから導入するのは初めてです。
起動するとDockerのErrorとなりました。

$ docker pull ghcr.io/project-tsurugi/tsurugidb
Using default tag: latest
latest: Pulling from project-tsurugi/tsurugidb
37aaf24cf781: Pull complete
e4e31387edfb: Pull complete
18f431a63a37: Pull complete
37fc08fe3aec: Pull complete
27a228ffc72d: Pull complete
ba5a1e1cb613: Pull complete
9dc3d6cc561c: Pull complete
4f4fb700ef54: Pull complete

$ docker container run -d -p 12345:12345 --name tsurugi ghrc.io/project-tsurugi/tsurugidb

Digest: sha256:1ca6edc0196f504c9ecec51eb8652798b0d72d91902798f74412ac7d9b05daa2
Status: Downloaded newer image for ghcr.io/project-tsurugi/tsurugidb:latest
ghcr.io/project-tsurugi/tsurugidb:latest
Unable to find image 'ghrc.io/project-tsurugi/tsurugidb:latest' locally
docker: Error response from daemon: error unmarshalling content: invalid character '<' looking for beginning of value.
See 'docker run --help'.

(b) Windows11 WSL2での試験

BMAXを利用して、Windows11で試験しました

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows

PS C:\Windows\system32> wsl --install -d ubuntu-22.04
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu 22.04 LTS
Ubuntu 22.04 LTS はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
PS C:\Windows\system32>

$ sudo snap install docker
docker 20.10.24 from Canonical✓ installed

$ sudo docker pull ghcr.io/project-tsurugi/tsurugidb:latest
latest: Pulling from project-tsurugi/tsurugidb
37aaf24cf781: Pull complete
e4e31387edfb: Pull complete
18f431a63a37: Pull complete
37fc08fe3aec: Pull complete
27a228ffc72d: Pull complete
ba5a1e1cb613: Pull complete
9dc3d6cc561c: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:1ca6edc0196f504c9ecec51eb8652798b0d72d91902798f74412ac7d9b05daa2
Status: Downloaded newer image for ghcr.io/project-tsurugi/tsurugidb:latest
ghcr.io/project-tsurugi/tsurugidb:latest

$ sudo docker container run -d -p 12345:12345 --name tsurugi ghcr.io/project-tsurugi/tsurugidb
ab338092492334874543635e9d0131da1d8cf6fa34853da31755c652d4c44959

$ sudo docker container ls -a
CONTAINER ID   IMAGE                               COMMAND                  CREATED          STATUS          PORTS                                           NAMES
ab3380924923   ghcr.io/project-tsurugi/tsurugidb   "docker-entrypoint.sh"   20 seconds ago   Up 16 seconds   0.0.0.0:12345->12345/tcp, :::12345->12345/tcp   tsurugi

$ sudo docker container exec -it tsurugi bash

$ $TSURUGI_HOME/bin/tgsql -c ipc:tsurugi
[main] INFO com.tsurugidb.console.core.ScriptRunner - establishing connection: ipc:tsurugi
[main] INFO com.tsurugidb.console.core.ScriptRunner - start repl

tgsql> create table tb1(pk int primary key, c1 int);
Time: 31.144 ms

tgsql> insert into tb1(pk, c1) values(1, 100);
Time: 26.631 ms

tgsql> select * from tb1;
[pk: INT4, c1: INT4]
[1, 100]
(1 rows)
Time: 45.856 ms

tgsql> commit;
transaction commit(DEFAULT) finished.
Time: 11.411 ms

tgsql> \quit
[main] INFO com.tsurugidb.console.core.ScriptRunner - repl execution was successfully completed

3.所見

新しい製品は次々と出てくるが評価活用することが時間が不足して進まない

4.追加

(1) tsurugidbをubuntu 22.04で試しましたが動作しません

tsurugidbはubuntu-22.04で動作するとの記述があるので、ubuntu-22.04で試してみました。しかし、ubuntu-22.04環境でaptによりdockerを導入しても、snapによりdockerを導入しても動作しません。結果は、前回ubuntu-20.04で実施した結果と同じでした。

また、ubuntu-20.04でsnapでdockerを導入して試してみましたが、同じ結果でした。

(2) tsurugidbをbuildして、ubuntu上で動作試験しました

tsurugidbのbuild手順に従って、ubuntu-22.04でBuildしてみようと考えました。ubuntu-22.04環境を新たに構築するために、ubuntu-20.04のdocker上で実行してみることにしました。手順通りにBuildできて利用できます。その内容を追記します。

参考資料に沿って作業しますが、環境はubuntu-20.04上のDocker Containerです。
usernameで処理しています。利用されている環境に合わせてください。

(a) dockerの導入
本ブログのredmine(05/20)を参照願います

(b) tsurugidbのsource(tarアーカイブ)のdownload
https://github.com/project-tsurugi/tsurugidb/releases に接続して、
tsurugidb-1.0.0-BETA1.tar.gz
をdownloadして、/home/username/tsurugi ディレクトリに保管します。

(c) Dockerfile、docker-compose.yml作成
/home/username/tsurugiディレクトリで作業します。
下記Dockerfileを作成します。

from ubuntu:22.04
RUN groupadd -g 1000 username
RUN useradd -m -s /bin/bash -u 1000 -g 1000 username
WORKDIR /home/username
COPY tsurugidb-1.0.0-BETA1.tar.gz tsurugidb-1.0.0-BETA1.tar.gz
RUN chown -R 1000:1000 /home/username

下記docker-compose.ymlを作成します。

version: '3.1'
services:
  tsurugi:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 12345:12345
    tty: true

(d) container起動
docker-compose up -d

(e) rootでcontainerへlogin後、作業
docker ps でCONTAINERIDを調べます。ここでは123456789abcとします。
docker exec --user root -it 123456789abc /bin/bash
# sh ./apt-install.sh
exit
必要なモジュールのインストール完了。

(f) usernameでcontainerへlogin後、作業
docker exec --user username -it 123456789abc /bin/bash
$ ls
tsurugidb-1.0.0-BETA1.tar.gz がCOPYされていることを確認します。

$ mkdir tsurugi
$ mkdir opt
$ cd tsurugi
$ tar zxf ../tsurugidb-1.0.0-BETA1.tar.gz
$ ./install.sh --prefix=$HOME/opt --symbolic

buildは時間がかかります。
[Install Tsurugi successful]で完了です。

(g) 試験
$ cd
$ export TSURUGI_HOME="$HOME/opt/tsurugi"
$ $TSURUGI_HOME/bin/tgctl start
successfully launched tsurugidb
$ $TSURUGI_HOME/bin/tgctl status
Tsurugi OLTP database is RUNNING
$ $TSURUGI_HOME/bin/tgsql -c ipc:tsurugi
[main] INFO com.tsurugidb.console.core.ScriptRunner - establishing connection: ipc:tsurugi
[main] INFO com.tsurugidb.console.core.ScriptRunner - start repl

tgsql> create table tb1(pk int primary key, c1 int);
start transaction implicitly. option=[
  type: OCC
  label: "tgsql-transaction"
]
Time: 43.688 ms
Time: 17.556 ms

tgsql> insert into tb1(pk, c1) values(1, 100);
Time: 40.642 ms

tgsql> select * from tb1;
[pk: INT4, c1: INT4]
[1, 100]
(1 rows)
Time: 45.566 ms

tgsql> commit;
transaction commit(DEFAULT) finished.
Time: 16.955 ms

tgsql> \quit
[main] INFO com.tsurugidb.console.core.ScriptRunner - repl execution was successfully completed

$ $TSURUGI_HOME/bin/tgctl shutdown
.
successfully shutdown tsurugidb

参考

[外部サイト参照]
Tsurugiインストール方法
Tsurugi

コメント

過去30日間に良く読まれた記事

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

LinuxMint/ubuntuにWine 11導入を試しました ( LinuxMint 21.3 / 22.3 ubuntu 22.04 / 26.04 Wine 11.0 / 11.6 / 11.8 / 11.13 )

Windows95/98のPCゲームをUbuntu/LinuxMintの最新PCで楽しむ方法 ( KVM / Wine / dosbox-x / midi )