
该镜像结合n8n工作流自动化平台与Oracle数据库集成能力,旨在简化任务流程、提升生产力。无论是执行SQL查询、自动化数据处理,还是与各类系统集成,均可通过此镜像实现高效自动化。
1. Docker Compose配置文件
创建docker-compose.yml文件,内容如下:
yamlversion: '3.8' volumes: db_storage: n8n_storage: services: postgres: image: postgres:16 restart: always ports: - 5432:5432 environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB - POSTGRES_NON_ROOT_USER - POSTGRES_NON_ROOT_PASSWORD volumes: - db_storage:/var/lib/postgresql/data - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh healthcheck: test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}'] interval: 5s timeout: 5s retries: 10 n8n: build: . restart: always environment: - DB_TYPE=postgresdb - DB_POSTGRESDB_HOST=postgres - DB_POSTGRESDB_PORT=5432 - DB_POSTGRESDB_DATABASE=${POSTGRES_DB} - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER} - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD} - N8N_ENCRYPTION_KEY=<KEY> - N8N_PROXY_HOPS=1 ports: - 5678:5678 links: - postgres volumes: - n8n_storage:/home/node/.n8n depends_on: postgres: condition: service_healthy
2. PostgreSQL初始化脚本
创建init-data.sh文件,用于创建非root用户:
bash#!/bin/bash set -e; if [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}'; GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER}; GRANT CREATE ON SCHEMA public TO ${POSTGRES_NON_ROOT_USER}; EOSQL else echo "SETUP INFO: No Environment variables given!" fi
3. 部署步骤
设置环境变量
定义以下环境变量(可通过.env文件或系统环境变量设置):
POSTGRES_USER:PostgreSQL管理员用户名POSTGRES_PASSWORD:PostgreSQL管理员密码POSTGRES_DB:数据库名称POSTGRES_NON_ROOT_USER:n8n使用的非root用户名POSTGRES_NON_ROOT_PASSWORD:非root用户密码N8N_ENCRYPTION_KEY:n8n加密密钥(替换<KEY>)启动服务
执行以下命令启动容器:
bashdocker-compose up -d
访问n8n
服务启动后,通过http://localhost:5678访问n8n界面,开始配置工作流和Oracle集成。
| 环境变量 | 描述 | 必要性 |
|---|---|---|
POSTGRES_USER | PostgreSQL管理员用户名 | 必需 |
POSTGRES_PASSWORD | PostgreSQL管理员密码 | 必需 |
POSTGRES_DB | 数据库名称 | 必需 |
POSTGRES_NON_ROOT_USER | n8n使用的数据库用户 | 必需 |
POSTGRES_NON_ROOT_PASSWORD | n8n数据库用户密码 | 必需 |
N8N_ENCRYPTION_KEY | n8n数据加密密钥 | 必需 |
N8N_PROXY_HOPS | 代理跳数 | 可选 |



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务