Docker环境中部署n8n支持Python节点(两种部署方式)

 更新时间:2026年02月09日 11:19:59   作者:rainbow6889  
本文介绍如何在Docker环境中部署n8n工作流自动化工具,并确保支持 Code in Python (Native) 节点,本文给大家分享两种常见的部署方式,感兴趣的朋友跟随小编一起看看吧

好的,我们来详细说明如何在 Docker 环境中部署 n8n 工作流自动化工具,并确保支持 Code in Python (Native) 节点。

一、使用 Docker 部署 n8n

n8n 官方提供了 Docker 镜像,部署非常方便。以下是两种常见的部署方式:

方法 1: 直接运行容器

这是最简单快捷的方式。

docker run -d \
  --name n8n \
  -p 5678:5678 \
  -e N8N_BASIC_AUTH_USER=<你的用户名> \
  -e N8N_BASIC_AUTH_PASSWORD=<你的强密码> \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

参数解释:

  • -p 5678:5678: 将容器内的 5678 端口(n8n 默认端口)映射到宿主机的 5678 端口。你可以根据需要修改宿主机端口(如 -p 8080:5678)。
  • -e N8N_BASIC_AUTH_USER-e N8N_BASIC_AUTH_PASSWORD: 强烈建议设置,用于 Web UI 的基础认证(用户名/密码)。请替换 <你的用户名><你的强密码>
  • -v ~/.n8n:/home/node/.n8n: 将容器内存储 n8n 配置、工作流、凭证等数据的目录持久化挂载到宿主机的 ~/.n8n 目录。这样即使容器重启或删除,数据也不会丢失。你可以根据需要修改宿主机路径(如 /path/to/n8n/data:/home/node/.n8n)。
  • n8nio/n8n: 使用的官方镜像名称。

方法 2: 使用docker-compose(推荐)

使用 docker-compose.yml 文件管理更清晰,也方便后续扩展。

创建一个 docker-compose.yml 文件:

version: '3.8'
services:
  n8n:
    image: n8nio/n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_USER=<你的用户名>
      - N8N_BASIC_AUTH_PASSWORD=<你的强密码>
      # 可选:设置时区 (例如 Asia/Shanghai)
      - TZ=Asia/Shanghai
      # 可选:禁用生产环境下的用户管理(仅用于本地开发/测试)
      # - N8N_DISABLE_PRODUCTION_MAIN_PROCESS=nginx
    volumes:
      - ./data:/home/node/.n8n
  • 同样,请替换 <你的用户名><你的强密码>
  • 将文件保存在一个目录(例如 n8n-docker),然后在该目录下运行:
docker-compose up -d

访问 n8n: 部署完成后,打开浏览器访问 http://<你的宿主机IP或域名>:5678 (例如 http://localhost:5678),输入设置的用户名和密码即可登录 n8n Web UI。

二、支持Code in Python (Native)节点

Code in Python (Native) 节点允许你在 n8n 工作流中直接运行 Python 3 代码。要使其正常工作,必须在运行 n8n 的容器内安装所需的 Python 依赖

步骤

进入 n8n 容器:

docker exec -it n8n /bin/bash

(如果使用 docker-compose 且服务名是 n8n,则用 docker-compose exec n8n /bin/bash)

安装 Python 依赖: 容器内已经预装了 Python 3 (通常是 3.8 或更高版本,具体取决于 n8n 镜像版本)。使用 pip 安装你需要的包。例如,安装常用的 requestspandas

pip install requests pandas

请根据你的工作流需求安装必要的包。

验证安装: 你可以尝试在容器内运行一个简单的 Python 命令检查包是否可用:

python -c "import requests; print(requests.__version__)"

退出容器:

exit

重要提示

  • Python 版本: n8n 的 Code in Python (Native) 节点需要 Python 3.8 或更高版本。官方 Docker 镜像通常会包含兼容的版本。
  • 容器重启: 由于容器是无状态的,通过 docker exec 安装的包在容器重启后会丢失。有几种解决方法:
    • (推荐) 构建自定义镜像: 创建一个 Dockerfile 基于 n8nio/n8n,并在其中使用 RUN pip install ... 命令安装你的依赖。然后使用这个自定义镜像来运行容器或更新 docker-compose.yml
    • 持久化 Python 环境 (高级): 可以将容器内的 Python 包安装路径(例如 /usr/local/lib/python3.8/site-packages)挂载到一个数据卷。但这需要确保宿主机路径上的包架构与容器内 Python 环境兼容,操作较复杂且有风险,通常不推荐。
    • 启动脚本:docker-compose.ymlentrypointcommand 覆盖中添加一个启动脚本,该脚本在 n8n 启动前检查并安装依赖。这需要编写额外的脚本逻辑。
  • 依赖管理: 对于复杂的项目,建议在容器内使用 requirements.txt 文件并通过 pip install -r requirements.txt 来管理依赖。

三、验证 Python 节点可用性

  1. 在 n8n Web UI 中创建一个新的工作流。
  2. 添加一个 Code 节点(在节点库搜索 "code")。
  3. 选择 Code in Python (Native) 作为模式。
  4. 在代码编辑框中输入简单的测试代码,例如:
    import requests
    print("Python is working!")
    print(f"Requests version: {requests.__version__}")
    return [{"output": "Success!"}]
    
  5. 执行该节点。如果配置正确,你应该能看到输出日志打印信息并成功返回结果。

通过以上步骤,你应该能够在 Docker 中成功部署 n8n 并配置好 Code in Python (Native) 节点的运行环境。

到此这篇关于Docker环境中部署n8n支持Python节点(两种部署方式)的文章就介绍到这了,更多相关Docker部署n8n内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Docker运行SQL Server的实现

    使用Docker运行SQL Server的实现

    这篇文章主要介绍了使用Docker运行SQL Server的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Docker之Compose的安装和使用过程

    Docker之Compose的安装和使用过程

    DockerCompose是用于定义和运行多容器应用的工具,通过定义yml文件自动创建或管理容器,简化了Docker操作,本文详细介绍了DockerCompose的安装步骤、版本差异以及基本命令,帮助用户更好地理解和使用DockerCompose
    2026-04-04
  • Dockerfile建立一个自定义的镜像执行自定义进程详细过程

    Dockerfile建立一个自定义的镜像执行自定义进程详细过程

    这篇文章主要介绍了Dockerfile建立一个自定义的镜像执行自定义进程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Docker Compose安装本地maven方式

    Docker Compose安装本地maven方式

    本文介绍了如何使用Docker Compose安装Maven,并提供了脚本和配置路径,通过运行Docker Compose,可以查看安装结果,进入容器后,可以查看Maven版本
    2024-12-12
  • Docker中删除镜像与容器的完整指南

    Docker中删除镜像与容器的完整指南

    在日常使用 Docker 的过程中,未使用的镜像往往会不断累积,占用大量磁盘空间,学会高效地查找并删除不必要的镜像,不仅能回收存储容量,还能保持系统的整洁,本文将演示如何从系统中删除 Docker 镜像,需要的朋友可以参考下
    2025-09-09
  • 本地Docker部署Navidrome音乐服务器与远程访问听歌详细教程(图文详解)

    本地Docker部署Navidrome音乐服务器与远程访问听歌详细教程(图文详解)

    本文和大家分享一款目前在G站有11K+Star的开源跨平台音乐服务器 Navidrome,如何在 Linux 环境本地使用 Docker 部署,并结合cpolar 内网穿透工具配置公网地址,实现随时随地远程访问本地存储音乐的详细流程,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • docker实现部署fastDFS服务过程

    docker实现部署fastDFS服务过程

    文章介绍了如何部署FastDFS、修改存储容器的访问端口以及拓展tracker.conf文件中的http.server_port配置,主要目的是监控和管理Tracker服务器,但通常不需要特别关注,重点是Storage的Nginx端口配置,因为这是用户访问文件的入口
    2026-01-01
  • Docker Compose健康检查实现零停机部署

    Docker Compose健康检查实现零停机部署

    本文主要介绍了Docker Compose健康检查实现零停机部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • 使用phpstorm对docker中的脚本进行debug的方法

    使用phpstorm对docker中的脚本进行debug的方法

    这篇文章主要介绍了使用phpstorm对docker中的脚本进行debug的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Docker ZooKeeper3.4.10集群安装配置过程

    Docker ZooKeeper3.4.10集群安装配置过程

    这篇文章主要介绍了ZooKeeper3.4.10集群安装配置-Docker,集群部署配置步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07

最新评论