これは自身の備忘録です。
接続先を確認する方法
podman info | yq '.host.remoteSocket.path'
これは自身の備忘録です。
接続先を確認する方法
podman info | yq '.host.remoteSocket.path'
/home/<WSLユーザ名>/.m2/settings.xml
を作成
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository>/mnt/c/User/<Windowsユーザ名>/.m2/repository</localRepository> </settings>
maven -Dmaven.repo.local=/mnt/c/User/<Windowsユーザ名>/.m2/repository
でも可能ですが、毎回指定するのが面倒臭いので・・・
Quarkus は、開発モードで動かすと、使用しているミドルウェアをコンテナで起動してくれる Dev サービスという機能があります。開発環境に環境を構築しないで良いのはとても楽です。
Dev サービス は、その中で Testcontainers を使用しており、Testcontainers は podman と docker の両方に対応してます。
Windows で podman を使っているとダメでした。
追記
2023年12月1日時点で試したところ、動くようになってました!
ログは以下です。
2023-05-23 17:12:01,954 WARN [org.tes.doc.DockerClientProviderStrategy] (build-45) Unknown DOCKER_HOST scheme ssh, skipping the strategy test... 2023-05-23 17:12:01,998 INFO [org.tes.doc.DockerMachineClientProviderStrategy] (build-45) docker-machine executable was not found on PATH ([略]) 2023-05-23 17:12:01,999 ERROR [org.tes.doc.DockerClientProviderStrategy] (build-45) Could not find a valid Docker environment. Please check configuration. Attempted configurations were: EnvironmentAndSystemPropertyClientProviderStrategy: failed with exception IllegalArgumentException (Unsupported protocol scheme: ssh://root@localhost:50725/run/podman/podman.sock)As no valid configuration was found, execution cannot continue. See https://www.testcontainers.org/on_failure.html for more details. 2023-05-23 17:12:02,009 WARN [io.qua.dep.IsDockerWorking] (build-45) Unable to connect to DOCKER_HOST URI ssh://root@localhost:50725/run/podman/podman.sock, make sure Docker is running on the specified host 2023-05-23 17:12:02,553 INFO [io.qua.dep.dev.IsolatedDevModeMain] (main) Attempting to start live reload endpoint to recover from previous Quarkus startup failure
podman は SSH を使用してリモートからの接続を受けるけるため、DOCKER_HOST に該当する物が ssh://
で始まります。Testcontainers はこれをサポートしてないらしく失敗しました。
追記(2023年12月1日)
Podman が /run/podman/podman.sock
で接続を受けるようになっていました。
何もしなくても動きます!
以下のどれかの方法で Dev サービスが使えるようになります。
Windows に docker を入れる方法は以下にあります。
Testcontainers でリモートの docker を使うには環境変数 DOCKER_HOST
を設定するか、 ~/.testcontainers.properties
ファイルで以下を設定します。
docker.host=tcp://<リモートのIP>:<ポート>