n8n - 使用 Docker Desktop 快速部署 n8n_n8n docker
文章目录
概述
n8n 是一个开源的工作流自动化工具,支持通过可视化节点对各类服务(如 GitHub、Slack、HTTP API 等)进行编排。接下来将演示如何在 macOS 上,借助 Docker Desktop,几分钟内完成 n8n 的安装与运行。
环境准备
- 操作系统:macOS 10.15(Catalina)或更高
- CPU 架构:x86_64 或 Apple Silicon(M1/M2/M4)
- Docker:安装 Docker Desktop
确保系统已连接互联网,且拥有管理员权限以安装软件。
安装 Docker Desktop
- 访问 Docker Desktop 官网,下载适用于 macOS 的安装包。
- 双击
.dmg
文件,将 Docker 拖入「应用程序」文件夹。 - 首次启动 Docker Desktop 时,系统可能会提示授权网络与文件系统访问,按提示完成。
- 启动后,可在菜单栏看到鲸鱼图标,确认状态为 “Docker Desktop is running”。
提示:Apple Silicon 用户可在 Docker 设置中选择 “Use Rosetta for x86/amd64 emulation” 以兼容部分镜像。
创建数据持久化卷
n8n 会在内部存储工作流、凭证等配置文件。为防止容器重建时丢失数据,我们应挂载一个 Docker 卷。
docker volume create n8n_data
该卷会被保存在 Docker 的管理空间中,用于持久化 /home/node/.n8n
目录。
拉取并运行 n8n 容器
使用官方镜像 n8nio/n8n:latest
,通过一条命令启动服务:
docker run -d \\ --name n8n \\ -p 5678:5678 \\ -v n8n_data:/home/node/.n8n \\ n8nio/n8n:latest
-d
:后台运行--name n8n
:设置容器名称-p 5678:5678
:端口映射,主机访问 5678 即映射到容器-v n8n_data:/home/node/.n8n
:挂载数据卷
命令执行完毕后,可通过 docker ps
查看容器状态。
验证与访问
-
在终端输入:
docker ps
确认有
n8n
容器在运行,且PORTS
显示0.0.0.0:5678->5678/tcp
。 -
打开浏览器,访问:
http://localhost:5678
将看到 n8n 的欢迎界面,至此部署成功。
高级配置(可选)
1. 启用基本认证
为防止未授权访问,可在启动命令中添加环境变量:
docker run -d \\ --name n8n \\ -p 5678:5678 \\ -v n8n_data:/home/node/.n8n \\ -e N8N_BASIC_AUTH_ACTIVE=true \\ -e N8N_BASIC_AUTH_USER=admin \\ -e N8N_BASIC_AUTH_PASSWORD=YourStrongPassword \\ n8nio/n8n:latest
2. 自动重启策略
在生产环境中,建议添加重启策略:
--restart unless-stopped
完整示例:
docker run -d \\ --name n8n \\ --restart unless-stopped \\ -p 5678:5678 \\ -v n8n_data:/home/node/.n8n \\ -e N8N_BASIC_AUTH_ACTIVE=true \\ -e N8N_BASIC_AUTH_USER=admin \\ -e N8N_BASIC_AUTH_PASSWORD=YourStrongPassword \\ n8nio/n8n:latest
3. 连接外部数据库
若需在团队协作或大规模生产环境中使用,建议将 SQLite 默认为 Postgres/MySQL:
-e DB_TYPE=postgresdb \\-e DB_POSTGRESDB_HOST=your-db-host \\-e DB_POSTGRESDB_PORT=5432 \\-e DB_POSTGRESDB_DATABASE=n8n \\-e DB_POSTGRESDB_USER=n8n_user \\-e DB_POSTGRESDB_PASSWORD=secure_pwd
总结与后续
本文介绍了如何在 macOS 上,通过 Docker Desktop 快速部署 n8n,并演示了数据持久化、基本认证、自动重启等常见配置。接下来,你可以:
- 通过 n8n 的可视化界面,探索各类节点(HTTP Request、GitHub、Slack 等);
- 将 n8n 容器纳入 Docker Compose 或 Kubernetes 集群,构建高可用部署;
- 配置 Webhook 与外部系统集成,实现业务自动化。
祝你在自动化工作流的道路上越走越远!
参考资料
- n8n 官方文档
- Docker Desktop for Mac 安装指南
或者直接使用如下命令(推荐)
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 run -it --rm --name n8n -p 5678:5678 -e N8N_SECURE_COOKIE=false -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n 别的电脑也可以访问
命令解释
命令 1:创建 Docker 卷
docker volume create n8n_data
作用:
- 创建一个持久化数据卷,命名为
n8n_data
。 - Docker 卷用于容器间共享数据或保留数据,即使容器销毁,数据依旧存在。
- 用于挂载 n8n 的配置文件、SQLite 数据库等内容。
查看 Docker 卷挂载信息
docker volume inspect n8n_data[ { \"CreatedAt\": \"2025-06-29T01:51:05Z\", \"Driver\": \"local\", \"Labels\": null, \"Mountpoint\": \"/var/lib/docker/volumes/n8n_data/_data\", \"Name\": \"n8n_data\", \"Options\": null, \"Scope\": \"local\" }]
命令 2:运行 n8n 容器(临时交互式)
docker run -it --rm --name n8n \\ -p 5678:5678 \\ -v n8n_data:/home/node/.n8n \\ docker.n8n.io/n8nio/n8n
逐项解释如下:
docker run
-it
-i
保持标准输入,-t
分配伪终端,便于调试和交互--rm
--name n8n
n8n
,方便后续操作-p 5678:5678
-v n8n_data:/home/node/.n8n
docker.n8n.io/n8nio/n8n
n8nio/n8n
是官方 n8n 镜像注意事项
-
由于使用了
--rm
,容器每次运行完都会被删除,但数据保留在卷中(n8n_data
)。 -
若要长期运行,建议去掉
--rm
并使用-d
(后台运行):docker run -d --name n8n \\ -p 5678:5678 \\ -v n8n_data:/home/node/.n8n \\ docker.n8n.io/n8nio/n8n