n8n笔记:docker部署与基本操作

n8n笔记:docker部署与基本操作

1.条件与环境

1.1 前提条件

  • 已安装Docker
  • 网络畅通

1.2 本文运行环境

平台/软件 版本
操作系统 CentOS Linux release 7.9.2009(VMware虚拟机)
Docker 24.0.7
n8n 1.109.1

2.安装运行

2.1 docker部署n8n汉化版本

1.创建存储卷(必须创建、否则容易因权限等问题导致使用出现问题):

1
docker volume create n8n_data

2.下载汉化包:下载地址【点击直达

注意:如果当前是首次安装、选择最新版(2025-09-01最新版1.109.1)即可;否则,选择与n8n版本号一致的版本;

image-20250902214842713

下载后解压到本地目录,记下这个地址(例如: /home/n8n/editor-ui/dist)、创建容器时需进行映射。

3.首次下载镜像并运行容器:

1
2
3
4
5
6
7
8
9
10
11
12
13
docker run -d --name n8n-zh -p 映射端口:5678 \
-v n8n_data:/home/node/.n8n \
-v 映射路径:/data \
-v 汉化包路径:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist \
-e N8N_DEFAULT_LOCALE=zh-CN \
-e GENERIC_TIMEZONE="Asia/Shanghai" \
-e N8N_SECURE_COOKIE=false \
-e DB_SQLITE_VACUUM_ON_STARTUP=true \
-e EXECUTIONS_DATA_PRUNE=true \
-e EXECUTIONS_DATA_MAX_AGE=168 \
-e EXECUTIONS_DATA_PRUNE_MAX_COUNT=2000 \
-e N8N_HOST=局域网IP
docker.n8n.io/n8nio/n8n

环境变量说明:(所有变量详见官方文档)

  • N8N_DEFAULT_LOCALE、GENERIC_TIMEZONE 设置语言(结合汉化包)、时区(和时间相关的功能相关,比如定时触发任务,其默认值分别为enAmerica/New_York
  • N8N_SECURE_COOKIE 允许使用http而非https访问
  • N8N_HOST: 局域网部署时,表单测试地址URL(默认为localhost,当通过局域网访问时使用localhost将无法弹出测试表单)
  • DB_SQLITE_VACUUM_ON_STARTUP、EXECUTIONS_DATA_PRUNE、EXECUTIONS_DATA_MAX_AGE、EXECUTIONS_DATA_PRUNE_MAX_COUNT n8n默认使用sqlLite进行数据存储,工作流、工作流运行数据都存储于此,随着使用,数据库会越来越大导致n8n性能下降;生产环境最好选择PostgreSQL作为数据库。
    • DB_SQLITE_VACUUM_ON_STARTUP 是否在数据库启动时进行一次清理
    • EXECUTIONS_DATA_PRUNE 是否打开执行结果自动清理
    • EXECUTIONS_DATA_MAX_AGE 执行结果保留多长时间(小时)
    • EXECUTIONS_DATA_PRUNE_MAX_COUNT 设置存储执行结果的最大条数

4.后续只需要通过容器命令或UI界面进行启停。

5.运行后,浏览器打开首次进入n8n页面,只需第一步注册邮箱等,后续步骤可以跳过,直接进入操作页面。

2.2 以root用户身份进入n8n容器给node用户赋予权限

注:将 /data 目录属主和属组变更为node,否则在工作流中保存文件到/data下时会提示没有权限

1
2
3
docker exec -u root -it n8n-zh sh
chown -R node:node /data
exit

image-20250904150829806

2.3 n8n版本升级

1.n8n目前更新速度较快,当有新版本时,将收到消息通知:

image-20250903102957817

2.停止正在运行中的n8n容器、拉取最新版本镜像:

1
docker pull docker.n8n.io/n8nio/n8n

3.删除之前创建的容器:

1
docker rm n8n-zh

4.重新使用之前的容器运行命令,再次进入n8n页面可以看到已经是最新版本了:

image-20250903111957371

3.n8n基本操作

3.1 工作流列表页面

3.1.1 创建、打开工作流等

image-20250903142648079

3.1.2 删除工作流

2步法:先【存档】、再【删除】:

image-20250903182420192

image-20250903182621759

image-20250903182703716

image-20250903182720506

3.1.3 工作流运行情况

image-20250904103401253

点击该列表中的工作流名称,可以查看该工作流的历史运行数据等:

image-20250904103226694

3.2 凭证

注:凭证通常在使用具体节点时进行配置

image-20250903162701555

3.3 工作流画布页面

3.3.1 画布

特别提醒:养成随时点【保存】的好习惯、没有自动保存功能!

image-20250904101451780

Tips: 按住Ctrl键、鼠标变成小手状、点击鼠标左键可移动画布;按住Ctrl键、滚动鼠标滚轮可缩放画布;框选多个节点可一起移动、复制等。

3.3.2 工作流运行日志

image-20250903162445041

3.4 节点导入/导出和操作菜单

  • 导入节点:复制节点或节点json、在工作流画布上【Ctrl+V】粘贴节点
  • 导出节点:复制节点、粘贴到文本文件中

image-20250903150553965

3.5 添加节点和连线/删除连线

image-20250903152711709

image-20250903152845733

image-20250903160356140

3.6 节点详情页面

双击节点或通过节点菜单进入节点详情页面:

image-20250903162209904

3.7 JavaScript/Python代码调试

目前只能通过输出日志的方式进行调试: JavaScript代码中添加console.log(…)、Python代码中添加print(…)

按F12打开浏览器调试窗口,测试节点、查看控制台输出:

image-20250903161213747

3.8 安装社区节点

以安装n8n-nodes-wechat-offiaccount为例:

n8n-nodes-wechat-offiaccount是一个功能完善的微信公众号插件、包含了素材、草稿、发布等所有公众号相关功能接口,使用它可以很方便地实现自动发布公众号文章的工作流。

image-20250903121741671

image-20250903122202116

image-20250903122519595

image-20250904101724169

image-20250904101824795

等待安装完成:

image-20250904101914181

相关链接