- 使用
docker volume create n8n_data
创建了一个名为n8n_data
的数据卷。 - 你通过
docker run
启动容器,映射了端口5678
,并挂载了n8n_data
数据卷。
以下是对应的 docker-compose.yml
配置文件:
version: "3.7"
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
restart: always
ports:
- "5678:5678"
volumes:
- n8n_data:/home/node/.n8n
environment:
- N8N_HOST=0.0.0.0
- N8N_PORT=5678
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=yourpassword
volumes:
n8n_data:
external: true
关键点解析:
-
Volumes:
volumes: n8n_data:/home/node/.n8n
:这会将你的数据卷n8n_data
挂载到容器中的/home/node/.n8n
目录,确保 n8n 数据得以持久化。external: true
:表示你已经在外部创建了n8n_data
数据卷(通过docker volume create n8n_data
),Docker Compose 会使用这个已创建的数据卷,而不是自动创建一个新的。
-
端口映射:
ports: - "5678:5678"
:将容器内的 5678 端口映射到宿主机的 5678 端口,以便你可以通过http://<服务器IP>:5678
访问 n8n。
-
环境变量:
N8N_HOST=0.0.0.0
:使 n8n 监听所有 IP,而不是仅限于localhost
。N8N_PORT=5678
:设置 n8n 监听的端口为 5678。N8N_BASIC_AUTH_ACTIVE=true
:开启基本认证。N8N_BASIC_AUTH_USER=admin
:设置基本认证用户名为admin
。N8N_BASIC_AUTH_PASSWORD=yourpassword
:设置基本认证密码。
启动容器:
保存此文件为 docker-compose.yml
后,执行以下命令启动服务:
docker-compose up -d
这样,你就可以通过 http://<服务器IP>:5678
访问 n8n,并且它会通过数据卷持久化数据。如果你有其他问题或需要进一步配置,随时告诉我!