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

相关推荐
timi先生6 小时前
全新的linux如何进行远程xshell操作?
linux·运维·服务器
程序员一点6 小时前
第4章:Linux 文件系统结构与路径管理
linux·运维·服务器
百***78756 小时前
Clawdbot 技术实战:基于一步 API 快速接入,打造本地化 AI 自动化助手
运维·人工智能·自动化
EnglishJun6 小时前
数据结构的学习(二)---Makefile的使用
linux·运维·学习
jl48638216 小时前
打造医疗设备的“可靠视窗”:医用控温仪专用屏从抗菌设计到EMC兼容的全链路解析
大数据·运维·人工智能·物联网·人机交互
曾几何时`6 小时前
Docker容器化部署编译运行模块
运维·docker·容器
HalvmånEver6 小时前
Linux:线程 ID 与地址空间布局:深入理解线程内存分布(线程七)
linux·运维·服务器·操作系统·线程
北京阿法龙科技有限公司6 小时前
工业场景下AR+AI图像识别:精准选型赋能运维与质检
运维·人工智能·ar
小oo呆7 小时前
【学习心得】CMD终端设置Proxy的几个要点
运维·服务器·网络
Forget_85507 小时前
RHEL——制作母盘
linux·运维·服务器