Armadilloフォーラム

podman runコマンドでコンテナの情報取得やファイル取得を行おうとすると「connection refused」エラーとなってしまう

takeshita_kyouhei

2024年3月8日 15時17分

VSCodeのABOSDEで作成したSWUをインストールしたあと、podman runコマンドでコンテナの情報やファイルを取得しようとすると、以下で示すような「connection refused」エラーとなってしまいます

atmark@atde9:~$ podman run --rm localhost/arm64v8/test /bin/bash -c "apt list --installed | grep influxdb"
Trying to pull localhost/arm64v8/test:latest...
WARN[0000] failed, retrying in 1s ... (1/3). Error: Error initializing source docker://localhost/arm64v8/test:latest: error pinging docker registry localhost: Get "https://localhost/v2/": dial tcp [::1]:443: connect: connection refused 
WARN[0001] failed, retrying in 2s ... (2/3). Error: Error initializing source docker://localhost/arm64v8/test:latest: error pinging docker registry localhost: Get "https://localhost/v2/": dial tcp [::1]:443: connect: connection refused 
WARN[0003] failed, retrying in 4s ... (3/3). Error: Error initializing source docker://localhost/arm64v8/test:latest: error pinging docker registry localhost: Get "https://localhost/v2/": dial tcp [::1]:443: connect: connection refused 
  Get "https://localhost/v2/": dial tcp [::1]:443: connect: connection refused
Error: Error initializing source docker://localhost/arm64v8/test:latest: error pinging docker registry localhost: Get "https://localhost/v2/": dial tcp [::1]:443: connect: connection refused

ほか、実行したコマンドは以下のとおりです

atmark@atde9:~/Software/test$ podman run --rm -itd --name test localhost/arm64v8/test sleep infinity  ←ここで同様のエラーになる
atmark@atde9:~/Software/test$ podman cp test:/etc/telegraf/telegraf.conf ./container/
atmark@atde9:~/Software/test$ podman stop test

なにか原因がわかりますでしょうか

以上、よろしくお願いいたします

コメント

at_satoshi.ohta

2024年3月8日 15時35分

太田です。

おそらくコンテナイメージが存在しないため、このエラーになっているのではないかと想像します。
下記を実行してコンテナイメージ(localhost/arm64v8/test)がATDE上にあるかご確認いただければ幸いです。

podman images | grep localhost/arm64v8/test

もしなければ、再度ABOSDE上で [Generate development swu] または [Generate release swu] を実行してください。
プロジェクト名がtestの場合、「localhost/arm64v8/test」と「localhost/test」という名前のコンテナイメージがATDE上に作成されるはずです。

どうぞよろしくお願いいたします。

takeshita_kyouhei

2024年3月8日 18時02分

> 太田です。
>
> おそらくコンテナイメージが存在しないため、このエラーになっているのではないかと想像します。
> 下記を実行してコンテナイメージ(localhost/arm64v8/test)がATDE上にあるかご確認いただければ幸いです。
>

> podman images | grep localhost/arm64v8/test
> 

> もしなければ、再度ABOSDE上で [Generate development swu] または [Generate release swu] を実行してください。
> プロジェクト名がtestの場合、「localhost/arm64v8/test」と「localhost/test」という名前のコンテナイメージがATDE上に作成されるはずです。
>
> どうぞよろしくお願いいたします。
>
本件、早速の回答有り難うございます
無事にコマンドの実行ができました

質問なのですが、このpodmanコマンドはATDE9ローカルに保存されているコンテナイメージにアクセスしているということなのでしょうか?

ArmadilloにSWUイメージはインストールしているため、そのコンテナにアクセスしているものだと考えていました
 そのため、「コンテナイメージが存在しない」という点もよくわかっていませんでした
 Armadilloで稼働中のコンテナ内に入る方法はある?

at_satoshi.ohta

2024年3月11日 10時36分

太田です。

> 質問なのですが、このpodmanコマンドはATDE9ローカルに保存されているコンテナイメージにアクセスしているということなのでしょうか?

そのとおりです。
ATDE上で podman コマンドを実行すると、ATDE上にあるコンテナイメージにアクセスします。
ABOSDEでは、ATDE上にある「localhost/プロジェクト名」という名前のコンテナイメージを含めたSWUファイルを作成します。
そのSWUファイルを使って Armadillo 上で swupdate を実行することで、「localhost/プロジェクト名」という名前のコンテナイメージをArmadillo にインストールします。

> Armadilloで稼働中のコンテナ内に入る方法はある?

Armadillo で稼働中のコンテナ内に入るには、まず ssh かシリアル通信で Armadillo に入ってください。

ssh を使用する場合はマニュアルの「ssh 接続に使用する IP アドレスの設定」をご参照ください。

https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

「プロジェクト名/config/ssh_config」を使用すると下記のコマンドをATDE上のターミナルで実行することで Armadilloに入ることができます。

ssh -F プロジェクト名/config/ssh_config Armadillo

シリアル通信で Armadillo に入る方法はマニュアルにも記載していますのでご参照ください。

https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

Armadillo に入った後は、下記のコマンドを実行すると起動中のコンテナに入ることができます。

podman exec -it コンテナ名 /bin/bash

コンテナ名は下記のコマンドで確認できます。

podman ps

上記でArmadilloで稼働中のコンテナ内に入る方法をご案内しましたが、
Armadillo に入って開発するのではなく、ATDE 上で ABOSDE を使用して開発する方法を推奨します。
ちなみに、 Armadillo 上のコンテナに入ってどういった作業を行うことを想定していますか?

takeshita_kyouhei

2024年3月15日 21時10分

本件返信いただきありがとうございます

コンテナに入ることができました

>ちなみに、 Armadillo 上のコンテナに入ってどういった作業を行うことを想定していますか?
コンテナ上から、Telegrafで通信する先であるOPC UAサーバへアクセスできるか?や、想定された設定ファイルは配置されているか?、ログは出力されているかなどを確認したいと考えています