Docker+n8n全流程配置和部署(N8N部署流程)

阶段 0:确认你的环境(1 分钟)

在 Ubuntu 22.04 虚拟机里打开终端,执行:

bash 复制代码
lsb_release -a

确认输出类似:

bash 复制代码
Ubuntu 22.04 LTS

如果是 → 继续

阶段 1:安装 Docker(关键但简单)

1️⃣ 更新系统(一次)

bash 复制代码
sudo apt update
sudo apt upgrade -y

如果出弹窗,直接默认OK
2️⃣ 安装 Docker(官方方式)

bash 复制代码
sudo apt install -y docker.io

安装完成后,检查:

bash 复制代码
docker --version

看到类似:

bash 复制代码
Docker version xx.x.x 
# 我的是Docker version 28.2.2, build 28.2.2-0ubuntu1~22.04.1

✅ 说明 Docker 已安装成功

阶段 2:用 Docker 跑起 n8n(10 分钟见成果)

1️⃣ 创建项目目录(养成好习惯)

bash 复制代码
# 先切换到创建docker的目录中,再执行命令
cd /home/projects/docker-services
mkdir -p n8n-dev
cd n8n-dev

2️⃣ 创建最简单的 docker-compose.yml

bash 复制代码
nano docker-compose.yml

粘贴以下内容(不要改):

bash 复制代码
version: "3"

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    ports:
      - "5678:5678"
    volumes:
      - ./n8n_data:/home/node/.n8n
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=admin123
      - TZ=Asia/Shanghai
      - N8N_SECURE_COOKIE=false

保存并退出(nano:Ctrl + O回车Ctrl + X

3️⃣ 启动 n8n

运行前先安装docker-compose命令

bash 复制代码
sudo apt  install docker-compose

需要输入[Y]继续安装

然后使用命令docker-compose up -d进行启动

bash 复制代码
docker-compose up -d

第一次会自动下载镜像(1~2 分钟)。

如果出现连接失败报错:

bash 复制代码
ERROR: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Ubuntu 虚拟机 无法直接访问 Docker Hub。在国内环境或者虚拟机网络配置下很常见。

解决方案:配置 Docker 官方国内加速器

编辑 Docker 配置文件:

bash 复制代码
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

添加国内加速器地址:

bash 复制代码
{
  "registry-mirrors": [
    "https://mirror.baidubce.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com",
    "https://docker.m.daocloud.io"
  ]
}

重启 Docker:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

再次拉镜像:

bash 复制代码
docker-compose up -d

如果还是下载慢或者卡死,启动究极方案:用主机(自己电脑)docker来下载镜像,然后复制到虚拟机中加载。

主机电脑(windows)安装docker,创建一个docker-source目录,在此目录中执行cmd命令行,执行命令(确保docker服务启动状态,否则报错The system cannot find the file specified.):

bash 复制代码
docker pull n8nio/n8n:latest
docker save n8nio/n8n:latest -o n8n_latest.tar

第一步完成后,目录下是没有文件的,第二部完成后,目录下会生成.tar文件。

文件复制到虚拟机对应的目录。执行命令

bash 复制代码
docker load -i n8n_latest.tar
docker-compose up -d

4️⃣ 确认 n8n 已启动

bash 复制代码
docker ps

看到类似:

bash 复制代码
n8n    Up    0.0.0.0:5678->5678/tcp

如果时主机复制过来的文件,此时可能无法正常启动,一般是文件和目录的权限问题:

使用命令查看日志:

bash 复制代码
docker logs n8n

如果出现:

bash 复制代码
No encryption key found - Auto-generating and saving to: /home/node/.n8n/config
No encryption key found - Auto-generating and saving to: /home/node/.n8n/config
Error: EACCES: permission denied, open '/home/node/.n8n/config'

那么就是权限问题,到目录下执行

bash 复制代码
sudo chown -R 1000:1000 n8n_data
docker-compose down
docker-compose up -d

之后再docker ps 确认

正常输出会有:

csharp 复制代码
n8n    Up    0.0.0.0:5678->5678/tcp

✅ 成功

阶段 3:打开 n8n 页面(第一次"看到成果")

在 宿主机浏览器里访问:

csharp 复制代码
http://<虚拟机IP>:5678

如果你在虚拟机本机浏览器:

csharp 复制代码
http://localhost:5678

登录信息

用户名:admin

密码:admin123

你应该能看到 n8n 的可视化界面 🎉

这一步成功,说明 Docker + n8n 全部 OK。

阶段 4:跑一个「最小测试流程」(非常重要)

点一下 → 流程真的跑

1️⃣ 新建 Workflow

点击 "New Workflow"

2️⃣ 添加一个节点:Manual Trigger

左侧搜索:Manual Trigger

拖到画布

3️⃣ 添加一个节点:Set

搜索:Set

连接到 Manual Trigger

配置:

点击 Add Value

Key:message

Value:Hello n8n

4️⃣ 点击右上角 ▶ Execute Workflow

你应该看到:

Set 节点输出

csharp 复制代码
{
  "message": "Hello n8n"
}

🎉 恭喜:你的第一个 n8n 流程跑通了

相关推荐
其实防守也摸鱼5 小时前
sqlmap下载和安装保姆级教程(附安装包)
linux·运维·服务器·测试工具·渗透测试·攻防·护网行动
jingyu飞鸟5 小时前
Linux系统发送邮件,解决信誉等级低问题 docker compose修改启动一键使用
linux·运维·docker
Lumos_7775 小时前
Linux -- exec 进程替换
linux·运维·chrome
李白客5 小时前
国产数据库选型指南:从技术路线到实战要点
运维·数据库·数据库架构·迁移学习
数智化精益手记局5 小时前
人员排班管理软件的自动化功能解析:解决传统手工人员进行排班管理耗时长的难题
运维·数据结构·人工智能·信息可视化·自动化·制造·精益工程
jy41932175 小时前
VPS 网络质量怎么测?一篇讲清楚多节点 ping、tcping 和回程路由
运维
杨浦老苏6 小时前
数据库备份管理工具DBackup
数据库·docker·备份·群晖
米高梅狮子6 小时前
06.Kubernetes Secret和Kubernetes Controllers
云原生·容器·kubernetes
wicb91wJ66 小时前
Nginx反向代理与负载均衡配置详解
运维·nginx·负载均衡
雨奔6 小时前
Kubernetes 实操:创建 LimitRange 和 Pod 并管理内存资源
云原生·容器·kubernetes