Armadilloフォーラム

[Armadillo-610] Alpine Linuxコンテナでのpythonアプリ環境作成について

masa.yamaguchi

2025年1月16日 10時48分

==========
製品型番:Aramadillo-610
ABOSバージョン:3.20.3-at.5
カーネルバージョン: 5.10.230
その他:ATDE9を使用
==========
現在 以下URLを参考に、Alpine Linuxコンテナにおいてpythonアプリを作成しようとしています。
https://armadillo.atmark-techno.com/blog/615/23199
しかしながら、作成したアプリが正常に動作しません。

■実施手順
(修正内容は添付のDockerfile と packages.txtをご確認ください)
・CREATE NEW PROJECT で Python New Projectを選択
・Dockerfile の記述修正(基本的には上記URL通りに実施。ついかで仮想環境を作成しないとSWUが作成できなかったので記述追加)
・packages.txt修正(py3-pipに変更、py3-virtualenv 追加)
・generate development swu実施後 ABOS WEBにてArmadillo 610にインストール実施

■結果
・作成したアプリが起動しない
・その時のコンソールにてコマンド実行結果は以下となります。
 →インストールしたイメージは存在しますが起動しておらず、
  ログに「exec failed: No such file or directory」が出ております。

/home/atmark # podman image ls
REPOSITORY         TAG         IMAGE ID      CREATED         SIZE        R/O
localhost/a01pysr  latest      5bdb42627533  14 minutes ago  82.8 MB     true
/home/atmark # 
/home/atmark # podman ps
CONTAINER ID  IMAGE       COMMAND     CREATED     STATUS      PORTS       NAMES
/home/atmark # 
/home/atmark # 
/home/atmark # podman logs a01pysr
exec failed: No such file or directory
exec failed: No such file or directory
exec failed: No such file or directory
exec failed: No such file or directory

■お伺いしたい事
手順に不足・誤りがあればご教示いただけますと幸いです。

ファイル ファイルの説明
ファイル.zip Dockerfile と packages.txt 在中
コメント

at_dominique.m…

2025年1月16日 11時16分

masa.yamaguchiさん

お世話になっています、
マルティネです。

>   ログに「exec failed: No such file or directory」が出ております。

こちらのエラーにいくつかの原因があります。
* /etc/atmark/containers/a01pysr.conf (VSCode上の app.confになっているはず) の set_command で設定されているコマンドが存在しない
* コマンドが存在しても、そのコマンドに必要なファイルが存在しない

今回は、「set_command python_launch」になっているはずで、「resources_python/bin/python_launch」からコピーされていると思いますので二つ目のパターンになっていると思います。

python_launch は #!/bin/bash で実行していますが、bash は不要なのでファイルの頭を #!/bin/sh に変更しコンテナを更新していただければ実行できるようになると思います。

デフォルトの debian コンテナでは bash が存在しますが、alpine は標準で /bin/sh しかありませんのでこういう風にエラーしてしまっていますね。

launch スクリプトでは bash を使わなくていいと思いますので、今後のアップデートで sh に変更しようと思います。連絡ありがとうございました。

よろしくお願いします

マルティネ 様

masa.yamaguchiです。

ご回答ありがとうございます。

python_launch は #!/bin/bash で実行していますが、bash は不要なのでファイルの頭を
   #!/bin/sh 
に変更しコンテナを更新していただければ実行できるようになると思います。

python_launch の記述を「#!/bin/sh」 に変更することで、正常に動作しました。

お手数をおかけしました。