【问题】解决docker的方式安装n8n,找不到docker.n8n.io/n8nio/n8n:latest镜像的问题
问题概览
用docker方式安装n8n,遇到错误,安装不了的问题:
Unable to find image 'docker.n8n.io/n8nio/n8n:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
原因速查
是官方提供的安装命令,在本地执行找不到docker.n8n.io,官方命令如下:
docker volume create n8n_datadocker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
解决办法
把命令行的“docker.n8n.io/”去掉就可以了,系统自己去找可用的镜像,更正后的代码是:
docker volume create n8n_datadocker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n
执行效果:
过程说明
n8n的docker安装方式,见官方文档:
Docker | n8n Docs
以及github上 的安装说明:
https://github.com/n8n-io/n8n
安装命令分析
第一条命令
docker volume create n8n_data
创建一个名为 n8n_data 的 Docker 持久化存储卷。这个卷的作用是:
- 存储 n8n 工作流自动化工具的所有配置和数据
- 确保即使容器被删除或重建,数据也不会丢失
- 映射到容器内部的 /home/node/.n8n 目录
执行效果:
第二条命令:
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
参数逐项解释:
- -it :以交互模式运行容器(分配伪终端)
- --rm :容器停止后自动删除容器(不会删除存储卷)
- --name n8n :为容器指定名称
- -p 5678:5678 :将宿主机的 5678 端口映射到容器的 5678 端口(用于 Web 访问)
- -v n8n_data:/home/node/.n8n :将存储卷挂载到容器的工作目录
- docker.n8n.io/n8nio/n8n :使用的 n8n 官方镜像
这条命令最终会启动一个运行 n8n 自动化工具的容器,通过浏览器访问 http://localhost:5678 即可使用,所有数据会持久保存在 n8n_data 卷中。
执行命令,即返回错误:
Unable to find image 'docker.n8n.io/n8nio/n8n:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
更换命令:
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n
执行效果:
结尾
想做点啥,必须有念力,不然这重重叠叠的沟沟坎坎,要怎样越过,学习就是一种修行,哇哈哈。。。。。。
参考官网文档:
npm | n8n Docs