禾口王王口禾 發表於 2025-12-11 11:02:56

macOS上用Docker Desktop快速部署n8n的完整流程

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">概述</a></li><li><a href="#_label1">环境准备</a></li><li><a href="#_label2">安装 Docker Desktop</a></li><li><a href="#_label3">创建数据持久化卷</a></li><li><a href="#_label4">拉取并运行 n8n 容器</a></li><li><a href="#_label5">验证与访问</a></li><li><a href="#_label6">高级配置(可选)</a></li><ul class="second_class_ul"><li><a href="#_lab2_6_0">1. 启用基本认证</a></li><li><a href="#_lab2_6_1">2. 自动重启策略</a></li><li><a href="#_lab2_6_2">3. 连接外部数据库</a></li></ul><li><a href="#_label7">总结与后续</a></li><ul class="second_class_ul"></ul><li><a href="#_label8">参考资料</a></li><ul class="second_class_ul"></ul><li><a href="#_label9">命令解释</a></li><ul class="second_class_ul"><li><a href="#_lab2_9_3">命令 1:创建 Docker 卷</a></li><li><a href="#_lab2_9_4">命令 2:运行 n8n 容器(临时交互式)</a></li><li><a href="#_lab2_9_5">注意事项</a></li></ul><li><a href="#_label10">总结&nbsp;</a></li><ul class="second_class_ul"></ul></ul></div><p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/20251211110557382.png" /></p>
<p class="maodian"><a name="_label0"></a></p><h2>概述</h2>
<p>n8n 是一个开源的工作流自动化工具,支持通过可视化节点对各类服务(如 GitHub、Slack、HTTP API 等)进行编排。接下来将演示如何在 macOS 上,借助 Docker Desktop,几分钟内完成 n8n 的安装与运行。</p>
<p class="maodian"><a name="_label1"></a></p><h2>环境准备</h2>
<ul><li><strong>操作系统</strong>:macOS 10.15(Catalina)或更高</li><li><strong>CPU 架构</strong>:x86_64 或 Apple Silicon(M1/M2/M4)</li><li><strong>Docker</strong>:安装 Docker Desktop</li></ul>
<p>确保系统已连接互联网,且拥有管理员权限以安装软件。</p>
<p class="maodian"><a name="_label2"></a></p><h2>安装 Docker Desktop</h2>
<ol><li>访问 <a href="https://www.docker.com/products/docker-desktop/" rel="external nofollow" target="_blank">Docker Desktop 官网</a>,下载适用于 macOS 的安装包。</li><li>双击 <code>.dmg</code> 文件,将 Docker 拖入「应用程序」文件夹。</li><li>首次启动 Docker Desktop 时,系统可能会提示授权网络与文件系统访问,按提示完成。</li><li>启动后,可在菜单栏看到鲸鱼图标,确认状态为 &ldquo;Docker Desktop is running&rdquo;。</li></ol>
<blockquote><p><strong>提示</strong>:Apple Silicon 用户可在 Docker 设置中选择 &ldquo;Use Rosetta for x86/amd64 emulation&rdquo; 以兼容部分镜像。</p></blockquote>
<p class="maodian"><a name="_label3"></a></p><h2>创建数据持久化卷</h2>
<p>n8n 会在内部存储工作流、凭证等配置文件。为防止容器重建时丢失数据,我们应挂载一个 Docker <strong>卷</strong>。</p>
<div class="jb51code"><pre class="brush:ps;">docker volume create n8n_data
</pre></div>
<p>该卷会被保存在 Docker 的管理空间中,用于持久化 <code>/home/node/.n8n</code> 目录。</p>
<p class="maodian"><a name="_label4"></a></p><h2>拉取并运行 n8n 容器</h2>
<p>使用官方镜像 <code>n8nio/n8n:latest</code>,通过一条命令启动服务:</p>
<div class="jb51code"><pre class="brush:ps;">docker run -d \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
n8nio/n8n:latest
</pre></div>
<ul><li><code>-d</code>:后台运行</li><li><code>--name n8n</code>:设置容器名称</li><li><code>-p 5678:5678</code>:端口映射,主机访问 5678 即映射到容器</li><li><code>-v n8n_data:/home/node/.n8n</code>:挂载数据卷</li></ul>
<p>命令执行完毕后,可通过 <code>docker ps</code> 查看容器状态。</p>
<p class="maodian"><a name="_label5"></a></p><h2>验证与访问</h2>
<ol><li><p>在终端输入:</p>
<div class="jb51code"><pre class="brush:ps;">docker ps
</pre></div>
<p>确认有 <code>n8n</code> 容器在运行,且 <code>PORTS</code> 显示 <code>0.0.0.0:5678-&gt;5678/tcp</code>。</p></li><li><p>打开浏览器,访问:</p>
<div class="jb51code"><pre class="brush:ps;">http://localhost:5678
</pre></div>
<p>将看到 n8n 的欢迎界面,至此部署成功。</p></li></ol>
<p class="maodian"><a name="_label6"></a></p><h2>高级配置(可选)</h2>
<p class="maodian"><a name="_lab2_6_0"></a></p><h3>1. 启用基本认证</h3>
<p>为防止未授权访问,可在启动命令中添加环境变量:</p>
<div class="jb51code"><pre class="brush:ps;">docker run -d \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=YourStrongPassword \
n8nio/n8n:latest
</pre></div>
<p class="maodian"><a name="_lab2_6_1"></a></p><h3>2. 自动重启策略</h3>
<p>在生产环境中,建议添加重启策略:</p>
<div class="jb51code"><pre class="brush:ps;">--restart unless-stopped
</pre></div>
<p>完整示例:</p>
<div class="jb51code"><pre class="brush:ps;">docker run -d \
--name n8n \
--restart unless-stopped \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=YourStrongPassword \
n8nio/n8n:latest
</pre></div>
<p class="maodian"><a name="_lab2_6_2"></a></p><h3>3. 连接外部数据库</h3>
<p>若需在团队协作或大规模生产环境中使用,建议将 SQLite 默认为 Postgres/MySQL:</p>
<div class="jb51code"><pre class="brush:ps;">-e DB_TYPE=postgresdb \
-e DB_POSTGRESDB_HOST=your-db-host \
-e DB_POSTGRESDB_PORT=5432 \
-e DB_POSTGRESDB_DATABASE=n8n \
-e DB_POSTGRESDB_USER=n8n_user \
-e DB_POSTGRESDB_PASSWORD=secure_pwd
</pre></div>
<p class="maodian"><a name="_label7"></a></p><h2>总结与后续</h2>
<p>本文介绍了如何在 macOS 上,通过 Docker Desktop 快速部署 n8n,并演示了数据持久化、基本认证、自动重启等常见配置。接下来,你可以:</p>
<ul><li>通过 n8n 的可视化界面,探索各类节点(HTTP Request、GitHub、Slack 等);</li><li>将 n8n 容器纳入 Docker Compose 或 Kubernetes 集群,构建高可用部署;</li><li>配置 Webhook 与外部系统集成,实现业务自动化。</li></ul>
<p>祝你在自动化工作流的道路上越走越远!</p>
<p class="maodian"><a name="_label8"></a></p><h2>参考资料</h2>
<ol><li><a href="https://docs.n8n.io/" rel="external nofollow" target="_blank">n8n 官方文档</a></li><li><a href="https://docs.docker.com/desktop/mac/install/" rel="external nofollow" target="_blank">Docker Desktop for Mac 安装指南</a></li></ol>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025121110515836.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025121110515830.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025121110515837.png" /></p>
<p>或者直接使用如下命令(推荐)</p>
<div class="jb51code"><pre class="brush:ps;">docker volume create n8n_data

docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n 只能本机访问

docker run -it --rm --name n8n -p 5678:5678 -e N8N_SECURE_COOKIE=false -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n别的电脑也可以访问

</pre></div>
<p class="maodian"><a name="_label9"></a></p><h2>命令解释</h2>
<p class="maodian"><a name="_lab2_9_3"></a></p><h3>命令 1:创建 Docker 卷</h3>
<div class="jb51code"><pre class="brush:ps;">docker volume create n8n_data
</pre></div>
<p><strong>作用:</strong></p>
<ul><li>创建一个持久化数据卷,命名为 <code>n8n_data</code>。</li><li>Docker 卷用于容器间共享数据或保留数据,即使容器销毁,数据依旧存在。</li><li>用于挂载 n8n 的配置文件、SQLite 数据库等内容。</li></ul>
<blockquote><p>查看 Docker 卷挂载信息</p></blockquote>
<div class="jb51code"><pre class="brush:ps;">docker volume inspect n8n_data

[
    {
      "CreatedAt": "2025-06-29T01:51:05Z",
      "Driver": "local",
      "Labels": null,
      "Mountpoint": "/var/lib/docker/volumes/n8n_data/_data",
      "Name": "n8n_data",
      "Options": null,
      "Scope": "local"
    }
]
</pre></div>
<p class="maodian"><a name="_lab2_9_4"></a></p><h3>命令 2:运行 n8n 容器(临时交互式)</h3>
<div class="jb51code"><pre class="brush:ps;">docker run -it --rm --name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
</pre></div>
<p>逐项解释如下:</p>
<table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td><code>docker run</code></td><td>运行一个新容器</td></tr><tr><td><code>-it</code></td><td>交互式终端模式,<code>-i</code> 保持标准输入,<code>-t</code> 分配伪终端,便于调试和交互</td></tr><tr><td><code>--rm</code></td><td>容器退出后自动删除(<strong>注意:非持久化运行方式,仅用于测试</strong>)</td></tr><tr><td><code>--name n8n</code></td><td>给容器起名为 <code>n8n</code>,方便后续操作</td></tr><tr><td><code>-p 5678:5678</code></td><td>映射容器内端口 5678 到宿主机,供浏览器访问(n8n 默认端口)</td></tr><tr><td><code>-v n8n_data:/home/node/.n8n</code></td><td>将之前创建的卷挂载到容器内路径,实现持久化</td></tr><tr><td><code>docker.n8n.io/n8nio/n8n</code></td><td>镜像地址,<code>n8nio/n8n</code> 是官方 n8n 镜像</td></tr></tbody></table>
<p class="maodian"><a name="_lab2_9_5"></a></p><h3>注意事项</h3>
<ul><li><p>由于使用了 <code>--rm</code>,容器每次运行完都会被删除,但数据保留在卷中(<code>n8n_data</code>)。</p></li><li><p>若要<strong>长期运行</strong>,建议去掉 <code>--rm</code> 并使用 <code>-d</code>(后台运行):</p>
<div class="jb51code"><pre class="brush:ps;">docker run -d --name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
</pre></div></li></ul>
<p class="maodian"><a name="_label10"></a></p><h2>总结&nbsp;</h2>
<p>到此这篇关于macOS上用Docker&nbsp;Desktop快速部署n8n的文章就介绍到这了,更多相关Docker&nbsp;Desktop快速部署n8n内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!</p>
頁: [1]
查看完整版本: macOS上用Docker Desktop快速部署n8n的完整流程