-
Notifications
You must be signed in to change notification settings - Fork 276
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error: podman compose up
ends up with dial tcp: lookup unix on 127.0.0.53:53: server misbehaving
#4573
Comments
Anyone could follow this: https://github.com/odockal/podman-desktop-qe/blob/main/docs/scenarios/compose/compose-testing.md |
Sounds like something in podman is still using the It requires the
|
It is the // For local clients (Linux/FreeBSD), use the default API
// address.
if !registry.IsRemote() {
return registry.DefaultAPIAddress(), nil
} The workaround is to set it explicitly: |
The "permission denied" from docker-compose is normal, it needs to run with Normal docker and podman-remote* will get the same error, since * i.e. when it is run with |
@odockal I have the same issues on my Fedora 38. What @afbjorklund suggested as workaround works for me. |
podman compose up
ends up with dial tcp: lookup unix on 127.0.0.53:53: server misbehaving
podman compose up
ends up with dial tcp: lookup unix on 127.0.0.53:53: server misbehaving
@dgolovin Thank you for reproduction. I recall that same workaround worked for me. If I understand it right, the 6th step in "Steps to reproduce" is then not working as expected... |
I don't think the issue is related to step 6 (the symlink), since it will override the default location. i.e. if it hadn't exported $ docker context ls
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock But since it was exporting a syntax that Docker didn't like, it failed. Fixed on |
Here is the expected output: $ docker version
Client: Docker Engine - Community
Version: 24.0.7
API version: 1.43
Go version: go1.20.10
Git commit: afdd53b
Built: Thu Oct 26 09:09:36 2023
OS/Arch: linux/amd64
Context: default
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied
$ podman --remote --url unix:/run/podman/podman.sock version
Cannot connect to Podman. Please verify your connection to the Linux system using `podman system connection list`, or try `podman machine init` and `podman machine start` to manage a new Linux VM
Error: unable to connect to Podman socket: Get "http://d/v4.7.0/libpod/_ping": dial unix ///run/podman/podman.sock: connect: permission denied Since it requires using [anders@lima-fedora anders]$ sudo docker version
Client: Docker Engine - Community
Version: 24.0.7
API version: 1.43
Go version: go1.20.10
Git commit: afdd53b
Built: Thu Oct 26 09:09:36 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.7
API version: 1.43 (minimum version 1.12)
Go version: go1.20.10
Git commit: 311b9ff
Built: Thu Oct 26 09:08:08 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.7.7
GitCommit: 8c087663b0233f6e6e2f4515cee61d49f14746a8
runc:
Version: 1.1.9
GitCommit: v1.1.9-0-gccaecfcb
docker-init:
Version: 0.19.0
GitCommit: de40ad0
[anders@lima-fedora anders]$ sudo podman --remote version
Client: Podman Engine
Version: 4.7.0
API Version: 4.7.0
Go Version: go1.20.8
Built: Wed Sep 27 18:24:38 2023
OS/Arch: linux/amd64
Server: Podman Engine
Version: 4.7.0
API Version: 4.7.0
Go Version: go1.20.8
Built: Wed Sep 27 18:24:3 https://docs.docker.com/engine/install/fedora/ And it seems to be bug compatible: [anders@lima-fedora compose-start]$ docker compose start
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.oneoff%3DFalse%22%3Atrue%2C%22com.docker.compose.project%3Dcompose-start%22%3Atrue%7D%7D": dial unix /var/run/docker.sock: connect: permission denied
[anders@lima-fedora compose-start]$ DOCKER_HOST=unix:///run/podman/podman.sock podman compose start
>>>> Executing external compose provider "/usr/local/bin/docker-compose". Please refer to the documentation for details. <<<<
permission denied while trying to connect to the Docker daemon socket at unix:///run/podman/podman.sock: Get "http://%2Frun%2Fpodman%2Fpodman.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.oneoff%3DFalse%22%3Atrue%2C%22com.docker.compose.project%3Dcompose-start%22%3Atrue%7D%7D": dial unix /run/podman/podman.sock: connect: permission denied
Error: executing /usr/local/bin/docker-compose start: exit status 1 https://docs.docker.com/compose/install/standalone/
|
Not sure why it is not running rootless by default?
Then it wouldn't need to mess with sudo and groups...
Seems like Podman only creates "connections" for Machine: [anders@lima-fedora ~]$ docker context ls
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default * Current DOCKER_HOST based configuration unix:///run/user/1000/docker.sock
rootless Rootless mode unix:///run/user/1000/docker.sock
Warning: DOCKER_HOST environment variable overrides the active context. To use a context, either set the global --context flag, or unset DOCKER_HOST environment variable.
[anders@lima-fedora ~]$ podman system connection ls
Name URI Identity Default An ugly workaround is to run the remote client as root too:
|
@lstocchi Yes. The option is now gone, so I believe we can close it. |
@odockal thanks for checking/confirming 👍 |
Bug description
Could be also a question at the moment. I was following up the workflow to onboard a compose via Podman Desktop and then also (as is written in the workflow) enable Docker Compatibility mode to have all pieces to be able to
podman compose up
.Operating system
Fedora 38
Installation Method
Other
Version
next (development version)
Steps to reproduce
docker-compose version
)Do you want to create a symlink from /run/podman/podman.sock to /var/run/docker.sock to enable Docker compatibility without having to set the DOCKER_HOST environment variable?
-> YesSymlink created successfully. The Podman socket is now available at /var/run/docker.sock.
Podman systemd socket has been enabled for Docker compatibility.
Docker Socket Compatibility: Docker socket is not reachable. Docker specific tools may not work.
but I still can see itpodman compose up
Actual result:
dial tcp: lookup unix on 127.0.0.53:53: server misbehaving
Relevant log output
Additional context
No DOCKER_HOST set - which is alright I think.
The text was updated successfully, but these errors were encountered: