kinoshita3322
2025年8月7日 10時12分
==========
製品型番:A9E
==========
お世話になっております。
remoteit-agentのコンテナイメージを使用して開発をしているのですが、
コンテナの設定ファイルで下記のようにシェルスクリプトを実行すると、
コンテナとホストOS内に作成されるはずのconfig.jsonが作成されなくなり、
remoteitのターゲット機能も起動しません。
コンテナの設定ファイル
#app.conf set_image localhost/{{PROJECT}}:latest set_ip 10.88.0.100 # Add environment variables set by Atmark Techno. add_armadillo_env # podman runのオプションを設定 add_args --hostname "ArmadilloA9E_$AT_SERIAL_NUMBER" -v /var/app/volumes/:/etc/remoteit -e R3_REGISTRATION_CODE="XXXX" --privileged # mount app sources and data: # - /var/app/rollback/volumes can be rolled back on failed # upgrades, suitable for application sources and assets. # - /var/app/volumes is not copied on updates and more suitable # for volatile data such as logs and databases. # - "/vol_app:ro" means to make "/vol_app" read-only. # If this is inconvenient, please remove ":ro". add_volumes /var/app/rollback/volumes/{{PROJECT}}:/vol_app add_volumes /var/app/volumes/{{PROJECT}}:/vol_data # Allow LED to be written. This is application specific # and should be changed depending on your needs. add_volumes /sys:/sys add_args -it # uncomment to allow using Secure Element within the container. # add_devices "${AT_SE_PARAM%:*}" # launch app set_command ./vol_app/src/main.sh
./vol_app/src/main.shの内容
#!/bin/sh touch /home/atmark/connectd_log # remoteitのイニシエータ機能を使用してターゲットにP2P接続 /usr/share/remoteit/connectd -p XXXX YYYYY ZZZZ > /home/atmark/connectd_log &
【コンテナイメージのリンク】
https://hub.docker.com/layers/remoteit/remoteit-agent/latest/images/sha…
原因としてはremoteit-agentのコンテナイメージにCMDで設定されているデフォルトのコマンドが
set_commandにより上書きされて動作しなくなるからだと考えております。
上記について回避策があれば教えていただきたく。
コメント
kinoshita3322
kinoshita3322
at_makoto.sato
佐藤です。
少し手間ですが、ATDEのVScodeの環境で以下の手順を実行してみてください。
"container/resources_alpine/etc/local.d" を追加
[ATDE]$ mkdir container/resources_alpine/etc/local.d
そこに、"main.start" を追加し実行権を付与
[ATDE]$ touch container/resources_alpine/etc/local.d/main.start [ATDE]$ chmod +x container/resources_alpine/etc/local.d/main.start
"main.start" を開き、内容は "main.sh" と同じものにする。
(CMDの内容は追加しない)
"Dockerfile" を開き "RUN adduser -D -u 1000 atmark" の下辺りに以下を追加
RUN rc-update add local default
"app.conf" に set_command は記載しない。
swuを作成しインストール
これで、remoteit コンテナ起動時に "main.start" に書かれた内容が実行されるかと思います。
kinoshita3322
at_makoto.sato
2025年8月7日 12時54分
佐藤です。
> 上記について回避策があれば教えていただきたく。
set_command で実行している main.sh の方に CMD の内容
/remoteit-run.sh /sbin/init
を書くとどうでしょうか。