Eric_D
(Eric)
December 1, 2024, 5:59pm
1
Hi, I’m attempting to run incus launch docker:jellyfin/jellyfin
on a server running Incus 6.7 but I receive the error from the title. I have the required packages on my server for OCI.
Any ideas? Thanks!
Editing to add context to the solution: I had updated the client version but the server itself needed to be updated. I didn’t realize that there was a difference between incus --version
, which shows the version of the client tool itself, and incus version
, which shows both the client and server versions.
Eric_D
(Eric)
December 1, 2024, 7:02pm
3
Here’s the output. docker
was added via incus remote add docker https://docker.io --protocol=oci
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
| 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 |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+```
Try removing and re-adding:
incus remote remove docker
incus remote add docker https://docker.io --protocol=oci
Eric_D
(Eric)
December 1, 2024, 7:31pm
5
No dice.
# incus remote add docker https://docker.io --protocol=oci
# incus launch docker:jellyfin/jellyfin
Launching the instance
Error: Failed instance creation: Unsupported protocol: oci
# 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 |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+```
Are you running the commands as root? If so, try running the commands as a non-root user in the incus-admin group.
Eric_D
(Eric)
December 1, 2024, 7:39pm
7
Yes, I was running as root. Running it all again as a non-root user in that group results in the same outcome:
[eric@homelab01:~]$ groups
users wheel incus-admin
[eric@homelab01:~]$ incus remote remove docker
To start your first container, try: incus launch images:ubuntu/22.04
Or for a virtual machine: incus launch images:ubuntu/22.04 --vm
Error: Remote docker doesn't exist
[eric@homelab01:~]$ incus remote list
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
| NAME | URL | PROTOCOL | AUTH TYPE | PUBLIC | STATIC | GLOBAL |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
| images | https://images.linuxcontainers.org | simplestreams | none | YES | NO | NO |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
| local (current) | unix:// | incus | file access | NO | YES | NO |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
[eric@homelab01:~]$ incus remote add docker https://docker.io --protocol=oci
[eric@homelab01:~]$ incus launch docker:jellyfin/jellyfin
Launching the instance
Error: Failed instance creation: Unsupported protocol: oci
[eric@homelab01:~]$ 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 |
+-----------------+------------------------------------+---------------+-------------+--------+--------+--------+
Please run the command without the hyphens.
Eric_D
(Eric)
December 1, 2024, 8:12pm
11
Ah, what a fun UX choice:
$ incus version
Client version: 6.7
Server version: 6.0.2
Looks like my server is out of date
stgraber
(Stéphane Graber)
December 1, 2024, 8:16pm
12
incus --version
shows you the version of just the tool you’re using, incus version
is instead an actual command we implemented which not only shows the version of the tool but also of the server you’re talking to.
And indeed Incus 6.0.2 does not support OCI, so that’d be the problem here.