❯ incus launch docker:hello-world --console --ephemeral
Launching the instance
Error: Failed instance creation: Failed getting remote image info: Image not found
I wonder if it’s because I have podman on my machine instead of docker.
❯ incus launch docker:hello-world --console --ephemeral
Launching the instance
Error: Failed instance creation: Failed getting remote image info: Image not found
I wonder if it’s because I have podman on my machine instead of docker.
Moving to its own topic to avoid having a full debugging session in the release post
Incus doesn’t use Docker or Podman, it directly runs those containers itself like any other container.
The error you’re getting suggests some kind of issue with skopeo
which we use to interact with the Docker Hub in this scenario.
Can you show incus remote list
and then incus image info docker:hello-world --debug
?
~ on ☁️ (us-east-1)
❯ incus remote list
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
| NAME | URL | PROTOCOL | AUTH TYPE | PUBLIC | STATIC | GLOBAL |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
| docker | https://docker.io | oci | none | YES | NO | NO |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
| images | https://images.linuxcontainers.org | simplestreams | none | YES | NO | NO |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
| local (current) | unix:// | incus | file access | NO | YES | NO |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
~ on ☁️ (us-east-1)
❯ incus image info docker:hello-world --debug
DEBUG [2024-07-12T15:50:08-04:00] Connecting to a remote OCI server URL="https://docker.io"
Error: Image not found
Okay and that’s using the Zabbly stable Incus packages?
no using the nixpkgs package.
❯ incus version
Client version: 6.3
Server version: 6.3
Okay, then make sure your system has both skopeo
and umoci` available to run as commands.
That was the issue. I didn’t test the fix yet but strace
attached to incusd
shown that it didn’t find skopeo
.
Thanks!
I’m running Incus 6.3 on Manjaro 24.0 with kernel 6.9.9-1. I needed to install both skopeo and umoci:
pamac info skopeo root@x360mj
Name : skopeo
Version : 1.15.2-1
Description : A command line utility for various operations on container images and image repositories.
URL : https://github.com/containers/skopeo
Licences : Apache-2.0
Repository : extra
Installed Size : 26.9 MB
Groups : --
Depends On : gpgme device-mapper containers-common
Optional Dependencies : --
Provides : --
Replaces : --
Conflicts With : --
Packager : Frederik Schwan <freswa@archlinux.org>
Build Date : Thu 11 Jul 2024 21:35:38
Validated By : MD5 Sum SHA-256 Sum Signature
pamac install skopeo
Preparing...
Synchronizing package databases...
Refreshing extra.db...
Refreshing DEB_Arch_Extra.db...
Refreshing AUR...
Warning: mhwd-nvidia: local (555.58.02-1) is newer than extra (550.100-1)
Warning: nano-syntax-highlighting: local (2020.10.10+10+g1aa64a8-2) is newer than extra (2020.10.10-2)
Warning: plymouth: local (24.004.60-9) is newer than extra (22.02.122-18)
Resolving dependencies...
Checking inter-conflicts...
To install (4):
aardvark-dns 1.11.0-1 (Required By: skopeo) extra 865.2 kB
netavark 1.11.0-2 (Required By: skopeo) extra 3.7 MB
containers-common 1:0.59.2-1 (Required By: skopeo) extra 110.9 kB
skopeo 1.15.2-1 extra 8.4 MB
Total download size: 13.1 MB
Total installed size: 43.5 MB
Apply transaction ? [y/N] y
Download of skopeo (1.15.2-1) started
Download of netavark (1.11.0-2) started
Download of aardvark-dns (1.11.0-1) started
Download of containers-common (1:0.59.2-1) started
Download of containers-common (1:0.59.2-1) finished
Download of aardvark-dns (1.11.0-1) finished
Download of netavark (1.11.0-2) finished
Download of skopeo (1.15.2-1) finished
Checking keyring... [4/4]
Checking integrity... [4/4]
Loading package files... [4/4]
Checking file conflicts... [4/4]
Checking available disc space... [4/4]
Installing aardvark-dns (1.11.0-1)... [1/4]
Installing netavark (1.11.0-2)... [2/4]
Installing containers-common (1:0.59.2-1)... [3/4]
Installing skopeo (1.15.2-1)... [4/4]
Running post-transaction hooks...
Reloading system manager configuration... [1/4]
Creating temporary files... [2/4]
Arming ConditionNeedsUpdate... [3/4]
Refreshing PackageKit... [4/4]
Transaction successfully finished.
incus launch docker:mysql mysql
Launching mysql
Error: Failed instance creation: Failed to run: umoci unpack --keep-dirlinks --image /tmp/incus-oci-3715457262/oci /tmp/incus-oci-3715457262/image: exec: "umoci": executable file not found in $PATH
pamac search umoci
umoci 0.4.7-2 extra
Umoci Modifies Open Container Images
pamac install umoci
Preparing...
Synchronizing package databases...
Refreshing DEB_Arch_Extra.db...
Warning: mhwd-nvidia: local (555.58.02-1) is newer than extra (550.100-1)
Warning: nano-syntax-highlighting: local (2020.10.10+10+g1aa64a8-2) is newer than extra (2020.10.10-2)
Warning: plymouth: local (24.004.60-9) is newer than extra (22.02.122-18)
Resolving dependencies...
Checking inter-conflicts...
To install (1):
umoci 0.4.7-2 extra 2.1 MB
Total download size: 2.1 MB
Total installed size: 6.7 MB
Apply transaction ? [y/N] y
Download of umoci (0.4.7-2) started
Download of umoci (0.4.7-2) finished
Checking keyring... [1/1]
Checking integrity... [1/1]
Loading package files... [1/1]
Checking file conflicts... [1/1]
Checking available disc space... [1/1]
Installing umoci (0.4.7-2)... [1/1]
Running post-transaction hooks...
Arming ConditionNeedsUpdate... [1/2]
Refreshing PackageKit... [2/2]
Transaction successfully finished.
incus launch docker:mysql mysql
Launching mysql
incus launch docker:hello-world --console --ephemeral
Launching the instance
Instance name is: fitting-cicada
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
incus image list
+-------+--------------+--------+-------------------------------------+--------------+-----------+-----------+----------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | UPLOAD DATE |
+-------+--------------+--------+-------------------------------------+--------------+-----------+-----------+----------------------+
| | 72a37ddc9f83 | no | docker.io/library/mysql (OCI) | x86_64 | CONTAINER | 162.38MiB | 2024/07/13 20:45 IST |
+-------+--------------+--------+-------------------------------------+--------------+-----------+-----------+----------------------+
| | 1408fec50309 | no | docker.io/library/hello-world (OCI) | x86_64 | CONTAINER | 0.00MiB | 2024/07/13 20:46 IST |
+-------+--------------+--------+-------------------------------------+--------------+-----------+-----------+----------------------+
FTR: Today I got the same “Image not found” error, while skopeo and umoci are installed.
Turns out, if I change the remote with incus remote add docker https://docker.io/ --protocol=oci --public
it works.
Maybe this is helpful for someone.