https://rancher.com/ logo
Title
d

damp-greece-33054

06/20/2022, 8:40 AM
Hello, macOS user here, just did a fresh install. Tried running a simple docker-compose file and I'm running into this issue that was fixed in nerdctl v0.21.0, but RD has v0.20.0. Is there any way for me to upgrade nerdctl?
Compose file:
version: "3.6"

services:
  busybox:
    image: busybox
    ports:
      - 8080:80
Output:
INFO[0000] Ensuring image busybox
<http://docker.io/library/busybox:latest|docker.io/library/busybox:latest>:                                                 resolved       |++++++++++++++++++++++++++++++++++++++|
index-sha256:3614ca5eacf0a3a1bcc361c939202a974b4902b9334ff36eb29ffe9011aaad83:    done           |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:2c5e2045f35086c019e80c86880fd5b7c7a619878b59e3b7592711e1781df51a: done           |++++++++++++++++++++++++++++++++++++++|
config-sha256:3c19bafed22355e11a608c4b613d87d06b9cdd37d378e6e0176cbc8e7144d5c6:   done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:87379020f3b6731a4b64976e614d305f5c121d153c049d14ba600ff24bbac012:    done           |++++++++++++++++++++++++++++++++++++++|
elapsed: 6.3 s                                                                    total:  4.2 Ki (681.0 B/s)
INFO[0006] Creating container tools_busybox_1
INFO[0006] Attaching to logs
busybox_1 |time="2022-06-20T08:22:34Z" level=fatal msg="failed to open \"/var/lib/nerdctl/dbb19c5e/containers/default/86dd1af679820b96e704e910ded7f58dc29751252696b8907d52369a6204
40ff/86dd1af679820b96e704e910ded7f58dc29751252696b8907d52369a620440ff-json.log\", container is not created with `nerdctl run -d`?: stat /var/lib/nerdctl/dbb19c5e/containers/defau
lt/86dd1af679820b96e704e910ded7f58dc29751252696b8907d52369a620440ff/86dd1af679820b96e704e910ded7f58dc29751252696b8907d52369a620440ff-json.log: no such file or directory"
INFO[0006] Container "tools_busybox_1" exited
INFO[0006] All the containers have exited
INFO[0006] Stopping containers (forcibly)
INFO[0006] Stopping container tools_busybox_1
Issue: https://github.com/containerd/nerdctl/issues/1071
i

important-exabyte-63999

06/20/2022, 8:41 AM
d

damp-greece-33054

06/20/2022, 8:42 AM
Hi @important-exabyte-63999 thanks for the answer! I did try that actually but it says it requires linux:
❯ brew install nerdctl
nerdctl: Linux is required for this software.
Error: nerdctl: An unsatisfied requirement failed this build.
i

important-exabyte-63999

06/20/2022, 8:43 AM
Huh. Weird. Brew for linux?
d

damp-greece-33054

06/20/2022, 8:44 AM
I'm on mac.. never seen that message before
i

important-exabyte-63999

06/20/2022, 8:44 AM
Same.
I guess download the source here https://github.com/containerd/nerdctl/releases and compile it yourself 😐
macOS

Lima project provides Linux virtual machines for macOS, with built-in integration for nerdctl.

$ brew install lima
$ limactl start
$ lima nerdctl run -d --name nginx -p 127.0.0.1:8080:80 nginx:alpine
that seems weird, though. Run a VM to run an executable that talks to containerd….
d

damp-greece-33054

06/20/2022, 8:50 AM
so
lima nerdctl
is the latest version, but downloaded images (
busybox
in this case) are not listed in the RD images, so I guess these tools are not connected.
From what I understand RD has lima in it..?
it would be easier if I could get nerdctl with RD. It just so happens that nerdctl had a regression in the version RD decided to release with its latest version.
anyway, thank you! lima works 🙂
i

important-exabyte-63999

06/20/2022, 9:01 AM
I’m just a user myself. Maybe file a github issue on this?
👍 1
s

sticky-summer-13450

06/20/2022, 1:33 PM
As I understand it, the nerdctl you run on a Mac with Rancher Desktop is really just a wrapper tool which runs nerdctl inside the Linux VM. You understand that on a Mac Rancher Desktop's containerd is running in a Linux VM.
f

fast-garage-66093

06/20/2022, 3:57 PM
You can update
nerdctl
to 0.21.0 inside the VM like this:
🎉 1
🙌 2
👍 1
Of course download the
arm64
version of
nerdctl
if you are on an M1 machine. The
amd64
version should run, but will be emulated, so runs slower
If you do a "Factory Reset" you will revert back to 0.20.0 because it will recreate the whole VM from scratch.
r

refined-scientist-38950

06/29/2022, 6:25 PM
anyone know what plan is to get this fix out? the latest version of rancher desktop is upgrading users to nerdctl 0.20.0 which is broken
besides the workaround, but actually have it set properly through rancher desktop update
f

fast-garage-66093

06/29/2022, 6:41 PM
The plan so far has been to ship the update with the next regular release of Rancher Desktop, but that is probably still a month away.
Somehow we missed the part that this is a regression from 0.19, and not a long-standing bug
r

refined-scientist-38950

06/29/2022, 6:41 PM
yea 0.19.0 is functional
but 0.20.0 has issues, 0.21.0 issues are fixed
f

fast-garage-66093

06/29/2022, 6:43 PM
Not sure how many people are affected though; I don't think I've seen any Github issue against Rancher Desktop filed about it; this Slack thread is the only mention I'm aware off, and it does document a workaround.
r

refined-scientist-38950

06/29/2022, 6:51 PM
sure, idk how many people are using nerdctl compose commands separately - most use cases of rancher desktop are probably limited to kubectl usage
if I had to guess anyways
f

fast-garage-66093

06/29/2022, 6:53 PM
Yeah, I don't know. It is difficult to balance the additional effort of creating a patch release with number of people affected, and how difficult it is to work around a problem for a limited time.
If this was a security issue, or if there was no feasible workaround for a regression, we obviously would create a patch release as soon as possible.
Unfortunately there is still a fair amount of manual QA going into the final release builds, so that is just time taken away from the next release.
So realistically the end of next week would be the earliest we could do a non-emergency patch release. But then it will be just another 3-4 weeks until we do a proper release. So if people could live with the issue (or work around it) for 4 weeks already, why can't they wait a little longer, and we spend the extra time on the new release instead?
Anyways, there is obviously a lot of subjectivity going into this, but that would be the general decision making process.