I have tried to run the Apache Airflow DockerOperator from Windows, but received the error
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
What should I do?
[![Docker Desktop][1]][1]
Expose the Docker Daemon on TCP
[1]: https://i.stack.imgur.com/4uUjS.png
If you are running airflow from docker, than the host will most probably be:
host = 'host.docker.internal'
Otherwise - probably
host = 'localhost'
Add the following url in the docker_url parameter:
DockerOperator(
...
docker_url=f'tcp://{host}:2375'
...
)
Upvote the answer and the question😄
Related
I am using Linux and trying to simulate a ibm mq server by myself via podman, however i got issue in podman run. I have added the docker.io to localhost in /etc/hosts. however i still got this issue, does someone know what i am missing here?
Thank you in advance.
Calling podman run to start the server in container [ibm_mqserver] public port is [51672] ...
Trying to pull docker.io/ibmcom/mq:latest...
Error: initializing source docker://ibmcom/mq:latest: pinging container registry registry-1.docker.io: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:62268->[::1]:53: read: connection refused
below is the error screenshot
Podman Run Error screenshot
As of writing the location for the latest MQ image is icr.io/ibm-messaging/mq:latest
I am using wsl2 (Ubuntu) on windows, and I have been installed openshift client for windows, but when I run oc login (oc login https://myhost --token=myToken) on wls2, it returns "error: dial tcp: lookup "myhost" on xxx.xx.xxx.x:xx: read udp xxx.xx.xxx.xxx:xxxxx->xxx.xx.xxx.x:xx: i/o timeout - verify you have provided the correct host and port and that the server is currently running."
Note: When i run oc login on windows (cmd/powershell) it works
Any solutions?
Thank you.
UPDATE
The problem is because I'm using vpn(GlobalProtect) when connecting to openshift. When I disconnect the vpn, the oc command runs properly.
Is it possible to run the oc command while connected to vpn (GlobalProtect)?
I'm attempting to connect to a local Postgres server running as a docker container from my Lambda function.
I'm using the sam local invoke call to do so.
For some reason, it seems that outgoing connection from SAM's docker container for the function is disabled.
I'm getting this error message:
"errorMessage": "(psycopg2.OperationalError) could not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Cannot assign requested address\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\n\n(Background on this error at: http://sqlalche.me/e/e3q8)",
Is there a way to enable a Lambda function call to a local docker database?
I have no issues running the connection code outside the Lambda function as standard Python code - so I'm sure my database is up, my code works, etc.
Try running the command with —docker-network TEXT per the AWS SAM CLI documentation.
I had a similar issue attempting to run sam local start-api with a local Docker Postgres database and was getting connection refused errors. I ran sam local start-api —docker-network host and it resolved the issue.
This is a good post which helped me to understand more about Docker networks.
Hope this helps you and any others looking at this.
I resolve this by replacing localhost with host.docker.internal.
For example if you use psycopg2
conn = psycopg2.connect(host="host.docker.internal",port=5432, ...)
I ssh into a server with the following:
ssh -g -L5912:server:5912 user#host
It goes through, and I can access my files on the other server through the command line (meaning I can connect to the server, it is my vnc viewer that is failing!) but when I try to open my vnc viewer (RealVNC) and connect to localhost:12 i get the following error message in the vnc viewer application:
The connection closed unexpectedly.
Additionally in the original command line shell i get:
channel 3: open failed: connect failed: No route to host
I've tried switching to different ports and even checked out other posts on the same error message but the problem is i don't really understand them... ssh tunnels are still relatively new to me so i don't really know what im doing. Any help would be greatly appreciated. Thanks!
You're trying to setup a port forwarding, this may fail because of many reasons:
SSH port forwarding not enabled in the host
Check SSH server in the host if AllowTcpForwarding is enabled:
$ grep AllowTcpForwarding /etc/ssh/sshd_config
AllowTcpForwarding yes
Typically, it's commented out. Uncomment and restart the sshd.
No connection between the host and server over port 5912
SSH to the host and try:
$ telnet server 5912
Connected to server.
Escape character is '^]'.
Finally, does the server listen on 5912?
Similarly, as above, but from the server - go there and try telnet server 5912.
Best regards,
Jarek
In my case it was the port forwarding rule I had set in Putty.
Please make sure you enter the correct hostname when defining the rule in Putty. I changed
localhost:5903
with
myserver:5903
and it worked...
I'm trying to connect to remote docker host through ssh tunnel. I have forwarded the 2375 port and I'm trying to connect to it by specifying DOCKER_HOST.
$ DOCKER_API_VERSION=1.24 DOCKER_HOST=localhost:2375 docker ps
error during connect: Get https://localhost:2375/v1.24/containers/json: http: server gave HTTP response to HTTPS client
This have worked before, but I can't make it work again, because my docker client keep giving me back this error. I can't make it ignore the https/http stuff. The connection is OK, i can curl the endpoints just fine, its just that docker client is doing something and then preventing itself from connecting and I don't know how to make it ignore the https.
I have finally figured out why I was getting this error. I was positive DOCKER_TLS_VERIFY was not set, but it was. So if anyone get this error, make sure the env variable is undefined or that the value is empty.
using
$ DOCKER_API_VERSION=1.24 DOCKER_HOST=localhost:2375 DOCKER_TLS_VERIFY= docker ps
did work as expected.