コンテナ内でのKVLiteの起動

この項では、コンテナ内でKVLiteを起動する方法について説明します。

  1. Oracle NoSQL Databaseコンテナ・イメージをプルします
    次に示す手順では、Oracle NoSQL Database Community Editionを使用します。イメージは、GitHubコンテナ・レジストリから直接プルできます。ここでは、セキュアでないイメージをプルします。
    docker pull ghcr.io/oracle/nosql:latest-ce
    docker tag ghcr.io/oracle/nosql:latest-ce oracle/nosql:ce
  2. コンテナでのOracle NoSQL Databaseの実行
    名前とホスト名を指定する必要があります。
    docker run -d --name=kvlite --hostname=kvlite --env KV_PROXY_PORT=8080 -p 8080:8080 oracle/nosql:ce
    出力:
    KVLiteがコンテナで起動され、コンテナのIDが表示されます。
    19001d44b56aa9a53c75cf0904298c4e0e3013df287e4a8f83ebff2e1b0ac172
    デフォルトでは、作成されるKVLiteストアのサイズは10 GBです。--env KV_STORAGESIZE=Nを使用して新しい値を設定できます。NはGB単位で、1より大きい値である必要があります。
  3. コンテナのステータスの確認
    コンテナのステータスを確認するには、次のコマンドを実行します:
    docker ps
    出力:
    コンテナの詳細が表示されます。
    CONTAINER ID   IMAGE              COMMAND                  CREATED           STATUS            PORTS                              NAMES                                  
    19001d44b56a   oracle/nosql:ce    "bash -c ./start-kvl…"  6 minutes ago   Up 6 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp  kvlite
  4. デプロイメントの検証
    次のコマンドを使用して、KVLiteストア・インスタンスにpingを実行できます
    docker exec -ti kvlite java -jar lib/kvstore.jar ping -host kvlite -port 5000
    出力:
    Pinging components of store kvstore based upon topology sequence #14
    10 partitions and 1 storage nodes
    Time: 2025-04-28 09:57:53 UTC   Version: 24.4.9
    Shard Status: healthy: 1 writable-degraded: 0 read-only: 0 offline: 0 total: 1
    Admin Status: healthy
    Zone [name=KVLite id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]   RN Status: online: 1 read-only: 0 offline: 0
    Storage Node [sn1] on kvlite: 5000    Zone: [name=KVLite id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    Status: RUNNING   Ver: 24.4.9 2024-11-21 17:06:06 UTC  Build id: 95fa28ea4441 Edition: Community    isMasterBalanced: true      serviceStartTime: 2025-04-28 09:43:36 UTC
            Admin [admin1]          Status: RUNNING,MASTER  serviceStartTime: 2025-04-28 09:43:38 UTC       stateChangeTime: 2025-04-28 09:43:38 UTC        availableStorageSize: 2 GB
            Rep Node [rg1-rn1]      Status: RUNNING,MASTER sequenceNumber: 84 haPort: 5011 availableStorageSize: 9 GB storageType: HD       serviceStartTime: 2025-04-28 09:43:39 UTC stateChangeTime: 2025-04-28 09:43:39 UTC
  5. データベースへの問合せ
    SQLシェルを起動して、データベースに問い合せて、いくつかの表を作成できます。
    docker exec -ti kvlite  java -jar lib/sql.jar -helper-hosts kvlite:5000 -store kvstore
    SQLプロンプトが表示されます。
    sql->
    SQL問合せを入力して、ticketという名前の表を作成します。
    sql->create table if not exists ticket(ticketNo LONG, confNo STRING, PRIMARY KEY(ticketNo))
    出力:
    表が正常に作成されます
    Statement completed successfully
    表のリストを表示する問合せを入力します
    sql->show tables
    出力:
    作成した表ticketがリストされます。
    tables
      SYS$IndexStatsLease
      SYS$MRTableAgentStat
      SYS$MRTableInfo
      SYS$MRTableInitCheckpoint
      SYS$PartitionStatsLease
      SYS$SGAttributesTable
      SYS$StreamRequest
      SYS$StreamResponse
      SYS$TableMetadata
      SYS$TableStatsIndex
      SYS$TableStatsPartition
      SYS$TopologyHistory
      ticket