I’m working with Nvidia Jetson Orin Nano with JetPack 6.1 and Azure IoT Edge. Azure IoT Edge recommends using Moby-engine, which Microsoft provides.
However, I’ve encountered a potential conflict when trying to use Moby-engine with Jetson Platform Services (JPS). Specifically, when I try to manually install JPS using apt, it seems to have a dependency on either docker-ce or docker-io. These Docker versions appear to conflict with the dependencies required by Moby-engine.
Has anyone else experienced this issue? Is there a recommended way to resolve this conflict and successfully use Moby-engine with JPS on the Jetson platform? Any insights or workarounds would be greatly appreciated.
Please follow this guide to install JPS 2.0: Quick Start Guide — Jetson Platform Services documentation
It is easy to install JPS 2.0 with SDKManager.
After that, you can install other application. You can report issue if you meet any issue for other applications.
I have encountered the same issue even when installing JPS with SDKManager. After installing JPS with SDKManager, attempting to install Moby-engine results in a warning message indicating that the conflict between Moby-engine and the docker-ce / docker-io dependencies required by JPS will cause JPS to be uninstalled.
A potential solution could be for JPS to also include a dependency on Moby-engine. However, I’m uncertain about the potential compatibility issues that might arise from this.
The Moby-engine I’m referring to is an alternative container engine provided by Microsoft, as detailed in their documentation: Install Azure IoT Edge | Azure Docs.
To illustrate the issue, here’s what happens when I attempt to install Moby-engine after installing JPS via SDKManager:
orin-nano-01:~$ sudo apt-get install moby-engine moby-cli
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
jq libjq1 libonig5 lsscsi quota quotatool ubuntu-fan wmdocker
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
moby-buildx moby-containerd moby-runc moby-tini
The following packages will be REMOVED:
containerd docker docker-compose-v2 docker.io nvidia-jetson-services runc
The following NEW packages will be installed:
moby-buildx moby-cli moby-containerd moby-engine moby-runc moby-tini
0 upgraded, 6 newly installed, 6 to remove and 128 not upgraded.
Need to get 132 MB of archives.
After this operation, 82.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]
As the message indicates, proceeding with the Moby-engine installation will remove JPS. Even if the installation is continued and JPS is removed, reinstalling JPS then results in the dependency conflict.
orin-nano-01:~$ sudo apt-get install nvidia-jetson-services
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
moby-cli : Conflicts: docker.io but 26.1.3-0ubuntu1~22.04.1 is to be installed
moby-containerd : Conflicts: containerd
moby-engine : Conflicts: docker.io but 26.1.3-0ubuntu1~22.04.1 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Given this, are there any suggestions, or is JPS fundamentally incompatible with alternative container engines like Moby-engine?