wagoodman / dive

A tool for exploring each layer in a docker image
MIT License
44.64k stars 1.69k forks source link

does not work with colima engine #397

Open jeffzyliu opened 2 years ago

jeffzyliu commented 2 years ago

I built the same image on colima and docker desktop (Intel mac), and only the docker one worked. It sounds like lima isn't supported yet, so I'd like to request that feature in the future!

jhogendorn commented 2 years ago

I have also started swapping to colima due to docker-desktop reliability being pretty bad, and would love colima support.

In the meantime, you can run:

docker save myimage > image.tar dive docker-engine://image.tar

sammcj commented 2 years ago

@jhogendorn dive docker-engine://image.tar doesn't seem to work for me after saving an image to a tar:

docker save my-valid-image:latest > image.tar

dive docker-engine://image.tar
Image Source: docker://docker-engine://image.tar
Fetching image... (this can take a while for large images)
Handler not available locally. Trying to pull 'docker-engine://image.tar'...
invalid reference format
cannot fetch image
exit status 1
jhogendorn commented 2 years ago

oh, apologies i mistyped.

dive docker-archive://image.tar

TG-KK commented 1 year ago

A simple fix for this right now is just running sudo ln -sf ~/.colima/docker.sock /var/run/docker.sock every time after colima start

saileshkotha commented 1 year ago

A simple fix for this right now is just running sudo ln -sf ~/.colima/docker.sock /var/run/docker.sock every time after colima start

this works for me

Trekoid commented 1 year ago

If you setup the DOCKER_HOST environment variable to point to colima in your shell configuration, dive (and other docker tools) will work out of the box. No need to manually update a symbolic link.

  1. Find the configuration file for your shell.
    • The default shell is Zsh on Macs. Your terminal configuration file is the ~/.zshrc file.
    • If you switched to Bash, your terminal configuration file is ~/.bashrc.
  2. Add export DOCKER_HOST=unix://$HOME/.colima/docker.sock to the file.
  3. Save and exit.
  4. Start a new terminal or run source ~/.zshrc or source ~/.bashrc to apply the changes to the existing terminal session.
ErlanBelekov commented 1 year ago

+1

wujek-srujek commented 1 year ago

According to colima FAQ what is missing in dive is support for Docker contexts (https://github.com/abiosoft/colima/blob/main/docs/FAQ.md#cannot-connect-to-the-docker-daemon-at-unixvarrundockersock-is-the-docker-daemon-running): However, some applications are not aware of Docker contexts and may lead to the error.