パソコン(Windows)でデータレイクハウス ～watsonx.data開発者版(developer version)～

# 目次
1. はじめに
2. 前提
3. watsonx.data開発者版をインストール
    3.1 エンタイトルメントAPIキーを取得
    3.2 Podmanマシンのシェルを起動
    3.3 インストールを実行
4. コンテナの起動と停止
5. 動作確認
    5.1 watsonx.dataのWeb画面
    5.2 PrestoのWeb画面
    5.3 Prestoのコマンドライン・インターフェース
6. リモート端末からの接続
7. 参考資料


# 1. はじめに
データレイクハウスとwatsonx.dataについて[歴史も含めた解説記事](https://www.imagazine.co.jp/watsonx-lake-house-solution/)が公開されていますので、ご覧ください。本記事はその開発者版(deverloper version)の紹介です。

watsonx.dataはサービスとしてAWSおよびIBM Cloudで提供されていて、またセルフマネージドのソフトウェアとしてクラウド環境(OpenShift)にインストールすることもできます。さらに開発者版(deverloper version)をパソコン(Windows, Mac, Linux)にインストールできます。開発者版はOpenShift環境を簡単に入手できない場合、開発や画面インターフェース確認などの用途で有用です。

本記事ではwatsonx.dataをWindowsパソコンにインストールして動作確認した例を紹介します。PodmanまたはDockerをインストールすれば、その後は[watsonx.dataのマニュアル](https://www.ibm.com/docs/en/watsonxdata/1.1.x?topic=edition-installing-watsonxdata-developer-version)に沿ってインストールできて、悩むところは無いと思います。本記事ではマニュアルに載っていない次の2点を含めてインストール方法を説明します。
- watsonx.dataインストール・コマンドの出力メッセージ詳細
- リモート端末から接続するためのWindows設定方法

なお、本記事で触れないwatsonx.dataの様々な使い方がQiitaに投稿されていますので、ご覧ください。
- https://qiita.com/tags/watsonx.data


# 2. 前提
1. watsonx.dataのソフトウェア・ライセンスが必要です。ライセンスがあれば開発者版を無料で利用できます。また開発者版専用のソフトウェア・ライセンスはありません。
補足）watsonx.dataのフルマネージド・サービスを[無料でトライアル（1500米ドル分）](https://www.ibm.com/jp-ja/products/watsonx-data)できます。

2. Windows環境においてWSL2が必要です。これからインストールする場合は、次のQiita記事が参考になります。
    - [wsl2にUbuntu環境を構築する【windows】](https://qiita.com/ryome/items/240f36923f5cb989da27)

3. Windows環境においてPodmanまたはDockerが必要です。Podmanのインストール方法などWindows用ガイドは次のページです。
    - [Podman for Windows guide](https://github.com/containers/podman/blob/main/docs/tutorials/podman-for-windows.md)

4. 本記事で使った環境は次の通りです。
    - Windows 11 22H2（OSビルド 22621.2715）
    - WSL 2.0.9.0
    - Podman 4.8.0
    - watsonx.data 1.0.3

# 3. watsonx.data開発者版をインストール
#### 3.1 エンタイトルメントAPIキーを取得
次のページからキーを取得します。
https://myibm.ibm.com/products-services/containerlibrary
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/c8c082e8-9d1a-cd1e-07b3-423fc3cd9a76.png)


#### 3.2 Podmanマシンのシェルを起動
PowerShellを起動します。次のマニュアルを参考にしてPodmanマシン(Fedora Linux)を作成・起動します。その名前を本記事ではデフォルトの`podman-machine-default`とします。
- [Podman for Windows](https://github.com/containers/podman/blob/main/docs/tutorials/podman-for-windows.md)
```
PS C:\Users\xxxx> podman machine init
PS C:\Users\xxxx> podman machine start
Starting machine "podman-machine-default"
...
PS C:\Users\xxxx> wsl -l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
podman-machine-default
```
Podmanマシン`podman-machine-default`のシェルを起動します。
```
PS C:\Users\xxxx> wsl -d podman-machine-default
[user@xxxx ~]$ pwd
/home/user
```

#### 3.3 インストールを実行
次のマニュアルを参考にして手順を進めます。
- [Installing the watsonx.data developer version](https://www.ibm.com/docs/en/watsonxdata/1.1.x?topic=edition-installing-watsonxdata-developer-version)

まずPodmanプラグインをインストールします。なお、この後の説明ではPodmanマシンのプロンプト`[user@xxxx ~]$`を簡略化して`$`と表示します。
```
$ sudo dnf install -y podman-plugins
...
Installed:
  dbus-libs-1:1.14.10-1.fc38.x86_64                    dnsmasq-2.89-5.fc38.x86_64                    podman-plugins-5:4.7.2-1.fc38.x86_64
Complete!
```
インストール・ディレクトリを作成します。
```
$ mkdir wxd
$ cd wxd
$ pwd
/home/user/wxd
```
環境変数を設定します。IBM_ENTITLEMENT_KEYに3.1節で取得したキーを設定します。本記事ではPodmanを使うのでDOCKER_EXEに`podman`を設定します。
```
$ export LH_ROOT_DIR=/home/user/wxd
$ export LH_RELEASE_TAG=latest
$ export IBM_LH_TOOLBOX=cp.icr.io/cpopen/watsonx-data/ibm-lakehouse-toolbox:$LH_RELEASE_TAG
$ export LH_REGISTRY=cp.icr.io/cp/watsonx-data
$ export PROD_USER=cp
$ export IBM_ENTITLEMENT_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$ export IBM_ICR_IO=cp.icr.io
$ export DOCKER_EXE=podman
```
インストール・パッケージを取得します。
```
$ $DOCKER_EXE pull $IBM_LH_TOOLBOX
Trying to pull cp.icr.io/cpopen/watsonx-data/ibm-lakehouse-toolbox:latest...
Getting image source signatures
Checking if image destination supports signatures
Copying blob b274539e1ba3 done   |
...
Writing manifest to image destination
Storing signatures
915ef012a5d87e48c4d6dcdef278d639304f8d2281b658035f0451d7b91ef2fa

$ $DOCKER_EXE images
REPOSITORY                                           TAG         IMAGE ID      CREATED       SIZE
cp.icr.io/cpopen/watsonx-data/ibm-lakehouse-toolbox  latest      915ef012a5d8  2 months ago  96.1 MB
```
インストール・パッケージを解凍します。
```
$ id=$($DOCKER_EXE create $IBM_LH_TOOLBOX)
$ $DOCKER_EXE cp $id:/opt - > /tmp/pkg.tar
$ $DOCKER_EXE rm $id
6a366bc82f36d93981700104d1d58d216d503669d16de46d44b38f56fd2b78d1
$ id=
$ tar -xf /tmp/pkg.tar -C /tmp
$ cat /tmp/opt/bom.txt
...
Directory structure
-------------------
/opt/
+-- bom.txt
+-- client
    +-- ibm-lh-client-1.0.3-255-20230912-165706-onprem-v1.0.3.tgz
    \-- README.txt
+-- dev
    +-- ibm-lh-dev-1.0.3-255-20230912-165706-onprem-v1.0.3.tgz
    \-- README.txt
\-- standalone
    +-- ibm-lakehouse-manage
    \-- README.txt

Checksum
--------
# cksum /opt/*/*
4114574099 4810 /opt/client/README.txt
2844315941 768528 /opt/client/ibm-lh-client-1.0.3-255-20230912-165706-onprem-v1.0.3.tgz
1619773671 155 /opt/dev/README.txt
3422166850 770444 /opt/dev/ibm-lh-dev-1.0.3-255-20230912-165706-onprem-v1.0.3.tgz
1531423063 161 /opt/standalone/README.txt
2593951694 10837 /opt/standalone/ibm-lakehouse-manage

$ cksum /tmp/opt/*/*
4114574099 4810 /tmp/opt/client/README.txt
2844315941 768528 /tmp/opt/client/ibm-lh-client-1.0.3-255-20230912-165706-onprem-v1.0.3.tgz
1619773671 155 /tmp/opt/dev/README.txt
3422166850 770444 /tmp/opt/dev/ibm-lh-dev-1.0.3-255-20230912-165706-onprem-v1.0.3.tgz
1531423063 161 /tmp/opt/standalone/README.txt
2593951694 10837 /tmp/opt/standalone/ibm-lakehouse-manage

$ tar -xf /tmp/opt/dev/ibm-lh-dev-*.tgz -C $LH_ROOT_DIR
$ ls $LH_ROOT_DIR
ibm-lh-dev
```
コンテナ・イメージを取得します。
```
$ $DOCKER_EXE login ${IBM_ICR_IO} \
--username=${PROD_USER} \
--password=${IBM_ENTITLEMENT_KEY}
Login Succeeded!

$ . $LH_ROOT_DIR/ibm-lh-dev/etc/launch_config.env
$ $LH_ROOT_DIR/ibm-lh-dev/bin/setup --license_acceptance=y --runtime=$DOCKER_EXE
=======   updating configuration =======
creating /home/user/wxd/ibm-lh-dev/localstorage/volumes/infra
==== pulling image for lhconsole-ui from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/lhconsole-ui:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
==== pulling image for lhconsole-nodeclient from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/lhconsole-nodeclient:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
==== pulling image for lhconsole-javaapi from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/lhconsole-javaapi:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
==== pulling image for lhconsole-api from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/lhconsole-api:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
==== pulling image for ibm-lh-control-plane-prereq from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/ibm-lh-control-plane-prereq:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
==== pulling image for ibm-lh-minio from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/ibm-lh-minio:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
==== pulling image for ibm-lh-postgres from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/ibm-lh-postgres:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
==== pulling image for lh-hive-metastore from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/ibm-lh-hive-metastore:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
==== pulling image for ibm-lh-presto from cp.icr.io/cp/watsonx-data  ====
Trying to pull cp.icr.io/cp/watsonx-data/ibm-lh-presto:1.0.3-255-20230912-165706-onprem-v1.0.3...
...
Updating password for user ibmlhadmin

$ $DOCKER_EXE images
REPOSITORY                                             TAG                                      IMAGE ID      CREATED       SIZE
registry.access.redhat.com/ubi8-micro                  latest                                   e0162d9d175f  3 weeks ago   28.5 MB
cp.icr.io/cpopen/watsonx-data/ibm-lakehouse-toolbox    latest                                   915ef012a5d8  2 months ago  96.1 MB
cp.icr.io/cp/watsonx-data/lhconsole-ui                 1.0.3-255-20230912-165706-onprem-v1.0.3  abd7ab8601d9  2 months ago  242 MB
cp.icr.io/cp/watsonx-data/lhconsole-nodeclient         1.0.3-255-20230912-165706-onprem-v1.0.3  c0e20b285a42  2 months ago  353 MB
cp.icr.io/cp/watsonx-data/lhconsole-javaapi            1.0.3-255-20230912-165706-onprem-v1.0.3  c36b85637791  2 months ago  413 MB
cp.icr.io/cp/watsonx-data/lhconsole-api                1.0.3-255-20230912-165706-onprem-v1.0.3  b1bf6d033430  2 months ago  440 MB
cp.icr.io/cp/watsonx-data/ibm-lh-control-plane-prereq  1.0.3-255-20230912-165706-onprem-v1.0.3  09c757eb4ff0  2 months ago  1.15 GB
cp.icr.io/cp/watsonx-data/ibm-lh-presto                1.0.3-255-20230912-165706-onprem-v1.0.3  697a67646d2c  2 months ago  4.27 GB
cp.icr.io/cp/watsonx-data/ibm-lh-hive-metastore        1.0.3-255-20230912-165706-onprem-v1.0.3  f3635bb6efe2  2 months ago  1.89 GB
cp.icr.io/cp/watsonx-data/ibm-lh-minio                 1.0.3-255-20230912-165706-onprem-v1.0.3  55b7809c8e92  2 months ago  220 MB
cp.icr.io/cp/watsonx-data/ibm-lh-postgres              1.0.3-255-20230912-165706-onprem-v1.0.3  356998709ae3  3 months ago  372 MB
```
# 4. コンテナの起動と停止
startコマンドで起動します。
```
$ $LH_ROOT_DIR/ibm-lh-dev/bin/start
-- starting container for ibm-lh-minio...
8f04446135fcc1caa9e59e42e7c1a51e98d363b950c1edebe1e4acb836781127
-- starting container for ibm-lh-postgres...
31c18aef2e7b6bbc7aae9570fcbaee71a43a087ffc5ca5cdfd5ce9a9d515245a
Checking container: ibm-lh-postgres
Container ID for ibm-lh-postgres is: 31c18aef2e7b
Postgres status is:
localhost:5432 - no response localhost:5432 - accepting connections
-- starting container for ibm-lh-control-plane-prereq...
-- starting container for lhconsole-api...
d6a752da0287b1a5ae4f0c9b6513a70da6b8fa21672d6e5d92ebb3fd60b33e0e
-- starting container for lh-hive-metastore...
35d407ab6660f4b0cbaefc479dbe2aa04722965732cffa41ac859efc91a2a07f
-- starting container for ibm-lh-presto...
35cb92d9be3f3aa71ad028a3da3940ce04b092231c7b1ed0749b5171992bf81a
Waiting for ibm-lh-presto to be ready....
-- starting container for lhconsole-javaapi...
a3953fddb79543b46df0b8f2df6c8303fca02e818de04de2e9abaf8d5c13065a
-- starting container for lhconsole-nodeclient...
6f2c7b352895cefd1d2b0a07bbe5740f828355b313f99ce5c809039ee48423a0
-- starting container for lhconsole-ui...
d40355ffd7f66837bd5dfab8d34967c3df78609159dc8f98884c178886e38809

$ $DOCKER_EXE ps
CONTAINER ID  IMAGE                                                                                    COMMAND            CREATED             STATUS     PORTS                   NAMES
8f04446135fc  cp.icr.io/cp/watsonx-data/ibm-lh-minio:1.0.3-255-20230912-165706-onprem-v1.0.3                              2 minutes ago       Up 2 minutes                             ibm-lh-minio
31c18aef2e7b  cp.icr.io/cp/watsonx-data/ibm-lh-postgres:1.0.3-255-20230912-165706-onprem-v1.0.3                           2 minutes ago       Up 2 minutes                             ibm-lh-postgres
d6a752da0287  cp.icr.io/cp/watsonx-data/lhconsole-api:1.0.3-255-20230912-165706-onprem-v1.0.3          /scripts/start.sh  About a minute ago  Up About a minute                          lhconsole-api
35d407ab6660  cp.icr.io/cp/watsonx-data/ibm-lh-hive-metastore:1.0.3-255-20230912-165706-onprem-v1.0.3                     About a minute ago  Up About a minute                          ibm-lh-hive-metastore
35cb92d9be3f  cp.icr.io/cp/watsonx-data/ibm-lh-presto:1.0.3-255-20230912-165706-onprem-v1.0.3                             About a minute ago  Up About a minute  0.0.0.0:8443->8443/tcp  ibm-lh-presto
a3953fddb795  cp.icr.io/cp/watsonx-data/lhconsole-javaapi:1.0.3-255-20230912-165706-onprem-v1.0.3                         44 seconds ago      Up 44 seconds                             lhconsole-javaapi-svc
6f2c7b352895  cp.icr.io/cp/watsonx-data/lhconsole-nodeclient:1.0.3-255-20230912-165706-onprem-v1.0.3   ./start.sh         44 seconds ago      Up 44 seconds                             lhconsole-nodeclient-svc
d40355ffd7f6  cp.icr.io/cp/watsonx-data/lhconsole-ui:1.0.3-255-20230912-165706-onprem-v1.0.3           /scripts/start.sh  44 seconds ago      Up 44 seconds     0.0.0.0:9443->8443/tcp  lhconsole-ui

$ $LH_ROOT_DIR/ibm-lh-dev/bin/status --all
ibm-lh-hive-metastore                           running
ibm-lh-minio                            running
ibm-lh-postgres                         running
ibm-lh-presto                           running                 0.0.0.0:8443->8443/tcp
lhconsole-api                           running
lhconsole-javaapi-svc                           running
lhconsole-nodeclient-svc                                running
lhconsole-ui                            running                 0.0.0.0:9443->8443/tcp
```
stopコマンドで停止します。
```
$ $LH_ROOT_DIR/ibm-lh-dev/bin/stop
Inspecting docker image lhconsole-ui before removal:
lhconsole-ui still running. Removing lhconsole-ui...
lhconsole-ui

Inspecting docker image lhconsole-nodeclient before removal:
lhconsole-nodeclient still running. Removing lhconsole-nodeclient...
lhconsole-nodeclient-svc

Inspecting docker image lhconsole-javaapi before removal:
lhconsole-javaapi still running. Removing lhconsole-javaapi...
lhconsole-javaapi-svc

Inspecting docker image lhconsole-api before removal:
lhconsole-api still running. Removing lhconsole-api...
lhconsole-api

Inspecting docker image ibm-lh-presto before removal:
ibm-lh-presto still running. Removing ibm-lh-presto...
ibm-lh-presto

Inspecting docker image lh-hive-metastore before removal:
lh-hive-metastore still running. Removing lh-hive-metastore...
ibm-lh-hive-metastore

Inspecting docker image ibm-lh-postgres before removal:
ibm-lh-postgres still running. Removing ibm-lh-postgres...
ibm-lh-postgres

Inspecting docker image ibm-lh-minio before removal:
ibm-lh-minio still running. Removing ibm-lh-minio...
ibm-lh-minio

$ $LH_ROOT_DIR/ibm-lh-dev/bin/status -all
$ logout
[user@yyyy xxxx]$ logout
PS C:\Users\xxxx> podman machine stop podman-machine-default
Machine "podman-machine-default" stopped successfully
```

# 5. 動作確認
### 5.1 watsonx.dataのWeb画面
Webブラウザで次のURLを開いて、`詳細設定`をクリックします。
https://localhost:9443/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/86e43732-6b75-533a-77f7-b00e42c32862.png)
`localhostに進む`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/0077565a-e71b-8a14-9f5d-d7d809043d25.png)
ログイン画面が表示されました。ユーザー名は`ibmlhadmin`、パスワードは`password`です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/4a6fa6d7-5ac5-c150-7d4d-ff49c7d58cad.png)
次の画面が表示されます。左側のアイコン（インフラストラクチャー・マネージャー）をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/179c8d2c-ac23-3a5b-8d59-810ab6ac1f73.png)
次の画面が表示されてデータベース・エンジン、カタログ、バケットの構成を確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/e667679b-2639-514e-12e1-f811ddb70db0.png)

### 5.2 PrestoのWeb画面
Webブラウザで次のURLを開きます。ポップアップが表示されるので、ユーザー名とパスワードを入力します。ユーザー名は`ibmlhadmin`、パスワードは`password`です。
https://localhost:8443/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/0b6ed2a4-b146-242c-978e-db53c4f61ce3.png)
次の画面が表示されて、クエリの状態を確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/35b4e3bb-447b-2d76-d043-aab3fbe20281.png)


### 5.3 Prestoのコマンドライン・インターフェース
watsonx.dataにはTPC-Hのデータがサンプルとして入っています。そのテーブル一覧を表示して、customerテーブルをSELECTしてみます。
```
$ $LH_ROOT_DIR/ibm-lh-dev/bin/presto-cli --catalog=tpch
presto> SELECT * FROM information_schema.tables ORDER BY table_schema, table_name;
 table_catalog |    table_schema    |    table_name    | table_type
---------------+--------------------+------------------+------------
 tpch          | information_schema | applicable_roles | BASE TABLE
 ...
 tpch          | tiny               | customer         | BASE TABLE
 tpch          | tiny               | lineitem         | BASE TABLE
 tpch          | tiny               | nation           | BASE TABLE
 tpch          | tiny               | orders           | BASE TABLE
 tpch          | tiny               | part             | BASE TABLE
 tpch          | tiny               | partsupp         | BASE TABLE
 tpch          | tiny               | region           | BASE TABLE
 tpch          | tiny               | supplier         | BASE TABLE
(80 rows)

presto> SELECT * FROM tiny.customer LIMIT 2;
 custkey |        name        |         address         | nationkey |      phone      | acctbal | mktsegment |                                             >
---------+--------------------+-------------------------+-----------+-----------------+---------+------------+--------------------------------------------->
    1117 | Customer#000001117 | 80NfzBRWj5tUUaRdnsFE7Eg |        23 | 33-461-439-5684 | 2829.07 | FURNITURE  |  ironic deposits need to haggle furiously. f>
    1118 | Customer#000001118 | QHg,DNvEVXaYoCdrywazjAJ |        11 | 21-583-715-8627 | 4130.18 | HOUSEHOLD  | y regular requests above the blithely ironic>

presto> quit
```


# 6. リモート端末からの接続
次の記事を参考にしてWindowsからPodmanマシンへのポートフォワードを設定します。
- [Windows (WSL)で動いているPodmanマシンにポートフォワード](https://qiita.com/yamasakk/items/5260e670065f5d2b9e09)

リモート端末から前節のWeb画面に接続します。Windows環境のIPアドレスが`192.168.xxx.xxx`であればwatsonx.dataとPrestoのWeb画面URLは次のようになります。
- https\://192.168.xxx.xxx:9443/
- https\://192.168.xxx.xxx:8443/


# 7. 参考資料
1. 岡口純子：データレイクハウスという選択肢　～オープンなアーキテクチャを備えるレイクハウスソリューション「watsonx.data」, iMagazine, 2023年11月10日.
https://www.imagazine.co.jp/watsonx-lake-house-solution/

2. watsonx.dataタグの付いたQiita記事
https://qiita.com/tags/watsonx.data

3. エンタイトルメントAPIキーの入手方法 (Obtaining your IBM entitlement API key)
https://www.ibm.com/docs/en/watsonxdata/1.1.x?topic=planning-licenses-entitlements#licensing__title__4

4. wsl2にUbuntu環境を構築する【windows】
https://qiita.com/ryome/items/240f36923f5cb989da27

5. Podman for Windows
https://github.com/containers/podman/blob/main/docs/tutorials/podman-for-windows.md

6. watsonx.data開発者版インストール・マニュアル (Installing the watsonx.data developer version)
https://www.ibm.com/docs/en/watsonxdata/1.1.x?topic=edition-installing-watsonxdata-developer-version

7. Windows (WSL)で動いているPodmanマシンにポートフォワード
https://qiita.com/yamasakk/items/5260e670065f5d2b9e09