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

相关推荐
Lam㊣2 小时前
Centos 7 系统docker pull 设置代理
docker·eureka·centos
wang6021252182 小时前
Git部署项目配置密钥-Linux系统
linux·运维·git
lewis_lk2 小时前
docker-compose部署mysql&redis
后端·docker
克里斯蒂亚诺更新2 小时前
宝塔 服务器一个端口页面访问另外一个服务器的端口页面
运维·服务器
伞啊伞2 小时前
k8s(五)集群调度与PV和PVC
云原生·容器·kubernetes
海鸥812 小时前
K8s 的 command/args 会覆盖 Dockerfile 的 CMD/ENTRYPOINT
云原生·容器·kubernetes
倔强的石头1063 小时前
【Linux指南】进程控制系列(四)进程替换 ——exec 系列函数全解析与应用
linux·运维·bash
江湖有缘3 小时前
Mikochi + Docker:打造属于你的私有云文件浏览器
运维·docker·容器
db_cy_20623 小时前
Docker+Kubernetes企业级容器化部署解决方案(阶段二)
运维·docker·容器·kubernetes