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 流程跑通了

相关推荐
szephyr22 分钟前
Docker + Compose 实战:把本地项目一键搬到云服务器,附完整配置
运维·docker·容器·部署·云服务器
wdfk_prog33 分钟前
ros教程02:创建 catkin Workspace、Package 与第一个 ROS1 C++ Node
运维·缓存·docker·容器·ros
亚川楼宇自控系统数据中心厂家1 小时前
高校 / 医院 / 政务云数据中心 IBMS 系统怎么落地?
运维
陈陈CHENCHEN2 小时前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
见闻小天地3 小时前
从晶片工艺到可靠性验证:晶威特TF-3215型RTC晶振全面解析
运维·业界资讯
名字还没想好☜4 小时前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
fengyehongWorld4 小时前
Linux squid搭建基础代理服务器
linux·运维·服务器
木白CPP5 小时前
Linux DMA驱动详解(二)-----DMA的使用者
java·linux·运维
赵民勇5 小时前
systemd-socket-activate命令详解
linux·运维
跨境小彭5 小时前
Temu运营避坑:制造地点信息填写规范、后果及批量实操教程
大数据·运维·自动化·跨境电商·temu