如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Dockerfile 链接和语义技术,提供下一代以端用户为中心的 Web 应用混搭平台,旨在利用服务互联网的长尾效应。它允许没有编程技能的端用户轻松创建 Web 应用和仪表板/驾驶舱(例如,可视化其感兴趣的数据或控制其智能家居或环境)。Web 应用混搭集成来自 Web 的异构数据、应用逻辑和 UI 组件(小部件),以创建新的连贯且增值的复合应用。它们旨在通过利用快速开发、DIY 和可共享性来利用“服务网络”(又名可编程 Web)的“长尾”。它们通常满足特定的情境需求(即即时、短期、定制化),通常具有很高的复用潜力。正是这种“情境”特性使得它们无法作为解决方案提供商的“现成”功能提供,因此产生了对 WireCloud 这类工具的需求。
WireCloud 是 FIWARE 的一部分。可在 目录 中查看。
https://raw.githubusercontent.com/Wirecloud/docker-wirecloud/master/logo.png](https://github.com/Wirecloud/wirecloud)
bash$ docker run --name some-wirecloud -p 80:8000 -e DEBUG=True -d fiware/wirecloud
以下环境变量也可用于配置 WireCloud 实例:
-e DEBUG=...(默认为 "False",使用 "True" 可将 WireCloud 运行在调试模式。独立模式下运行 WireCloud 时应启用调试模式)-e LOGLEVEL=...(默认为 "INFO")-e ALLOWED_HOSTS=...(默认为 "*",空格分隔的允许主机列表。详见 Django 文档)-e DEFAULT_LANGUAGE=...(默认为 "browser",详见 文档)-e DEFAULT_THEME=...(默认为 "wirecloud.defaulttheme")-e DB_HOST=...(默认为空,提供主机值以将此镜像与数据库服务器连接)-e DB_NAME=...(默认为 "postgres")-e DB_USERNAME=...(默认为 "postgres")-e DB_PASSWORD=...(默认为 "postgres")-e DB_PORT=...(默认为 "5432")-e FORWARDED_ALLOW_IPS=...(默认为 "*",设置可信反向代理列表)-e ELASTICSEARCH2_URL=...(默认为空,留空则使用 Whoosh)-e LANGUAGE_CODE=...(默认为 "en-gb",详见 Django 文档)-e MEMCACHED_LOCATION=...(默认为空,留空则禁用 memcached 支持)-e FIWARE_IDM_SERVER=...(默认为空,留空则使用 WireCloud 数据库中存储的凭据对用户进行身份验证)-e FIWARE_IDM_PUBLIC_URL=...(默认为空,留空则使用 FIWARE_IDM_SERVER 配置构建重定向浏览器到 IdM 门户的 URL)-e SOCIAL_AUTH_FIWARE_KEY=...(默认为空)-e SOCIAL_AUTH_FIWARE_SECRET=...(默认为空)-e KEYCLOAK_IDM_SERVER=...(默认为空,留空则使用 WireCloud 数据库中存储的凭据对用户进行身份验证)-e KEYCLOAK_REALM=...(默认为空,用于连接 Keycloak 的领域)-e KEYCLOAK_KEY=...(默认为空)-e KEYCLOAK_GLOBAL_ROLE=...(默认为 "False")-e SOCIAL_AUTH_KEYCLOAK_KEY=...(默认为空)-e SOCIAL_AUTH_KEYCLOAK_SECRET=...(默认为空)-e HTTPS_VERIFY=...(True、False 或证书 bundle 路径,默认为 "/etc/ssl/certs/ca-certificates.crt")-e ADMIN_URL_PATH=...(默认为 "^admin/",管理路径的正则表达式)除上述环境变量外,此 Docker 镜像还允许使用同名环境变量配置以下 Django 设置:CACHE_MIDDLEWARE_KEY_PREFIX、CSRF_COOKIE_AGE、CSRF_COOKIE_HTTPONLY、CSRF_COOKIE_NAME、CSRF_COOKIE_SECURE、DEFAULT_FROM_EMAIL、EMAIL_HOST、EMAIL_HOST_PASSWORD、EMAIL_PORT、EMAIL_HOST_USER、EMAIL_USE_SSL、EMAIL_USE_TLS、FORCE_SCRIPT_NAME、LOGOUT_REDIRECT_URL、SECRET_KEY、SESSION_COOKIE_AGE、SESSION_COOKIE_NAME、SESSION_COOKIE_HTTPONLY 和 SESSION_COOKIE_SECURE。详见 Django 文档。
当在负责 TLS 终止的反向代理(如 Apache/NGINX)后使用 TLS 运行 WireCloud 时,确保适当设置 X-Forwarded-Proto、X-Forwarded-Host 和 X-Forwarded-Port 头。
作为通过环境变量传递敏感信息的替代方案,可在某些敏感环境变量后附加 _FILE,使初始化脚本从容器中存在的文件加载这些变量的值。特别是,这可用于从存储在 /run/secrets/<secret_name> 文件中的 Docker Secrets 加载密码。例如:
consoledocker run --name wirecloud -e DB_PASSWORD_FILE=/run/secrets/password -d fiware/wirecloud
目前,以下变量支持 _FILE 后缀:
EMAIL_HOST_PASSWORDKEYCLOAK_KEYLOGOUT_REDIRECT_URLSECRET_KEYSOCIAL_AUTH_FIWARE_KEYSOCIAL_AUTH_FIWARE_SECRETSOCIAL_AUTH_KEYCLOAK_KEYSOCIAL_AUTH_KEYCLOAK_SECRET可使用 docker exec -ti some-wirecloud manage.py ... 运行任何可用的 manage.py 命令。例如,可通过以下命令创建超级用户/管理员:
bash$ docker exec -ti some-wirecloud manage.py createsuperuser Username (leave blank to use 'root'): admin Email address: ${youremail} Password: ${yourpassword} Password (again): ${yourpassword} Superuser created successfully.
对于使用文件系统的命令,需注意这些命令将在容器内执行,因此文件系统是容器使用的文件系统。manage.py 脚本不会检查这些命令是否对提供的卷之外进行更改。不过,它们可以正常使用。例如,可使用以下命令收集静态文件:
bash$ docker exec -ti some-wirecloud manage.py collectstatic
使用 docker exec -ti some-wirecloud manage.py --help 获取可用命令列表。
docker stack deploy 或 docker-compose 部署WireCloud 的 docker-compose.yml 示例:
yamlversion: "3" services: nginx: restart: always image: nginx ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./wirecloud-static:/var/www/static:ro depends_on: - wirecloud postgres: restart: always image: postgres environment: - POSTGRES_PASSWORD=wirepass # 更改此密码! volumes: - ./postgres-data:/var/lib/postgresql/data elasticsearch: restart: always image: elasticsearch:2.4 volumes: - ./elasticsearch-data:/usr/share/elasticsearch/data command: elasticsearch -Des.index.max_result_window=50000 memcached: restart: always image: memcached:1 command: memcached -m 2048m wirecloud: restart: always image: fiware/wirecloud depends_on: - postgres - elasticsearch - memcached environment: - DEBUG=False # - DEFAULT_THEME=wirecloud.defaulttheme - DB_HOST=postgres - DB_PASSWORD=wirepass # 更改此密码! - FORWARDED_ALLOW_IPS=* - ELASTICSEARCH2_URL=http://elasticsearch:9200/ - MEMCACHED_LOCATION=memcached:11211 # 取消以下环境变量的注释以启用 IDM 集成 #- FIWARE_IDM_SERVER=${FIWARE_IDM_SERVER} #- SOCIAL_AUTH_FIWARE_KEY=${SOCIAL_AUTH_FIWARE_KEY} #- SOCIAL_AUTH_FIWARE_SECRET=${SOCIAL_AUTH_FIWARE_SECRET} volumes: - ./wirecloud-data:/opt/wirecloud_instance/data - ./wirecloud-static:/var/www/static
此 docker-compose.yml 文件依赖于 nginx.conf 配置文件:
nginxuser nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; server { listen 80; server_name example.org; client_max_body_size 20M; charset utf-8; location /static { alias /var/www/static; } location / { proxy_pass http://wirecloud:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }
运行 docker stack deploy -c docker-compose.yml wirecloud(或 docker-compose -f docker-compose.yml up),等待完全初始化后,访问 http://swarm-ip、http://localhost 或 http://host-ip(视情况而定)。此外,请注意,要部署生产就绪的 WireCloud,应配置 https(本示例未涵盖)。
如需自定义 WireCloud 安装,最佳选择是通过扩展官方镜像之一创建新的 Docker 镜像并安装新模块。例如,可按照 教程 创建自定义主题,并将其安装在扩展镜像上,然后使用 DEFAULT_THEME 环境变量将其配置为默认主题。
查看 https://github.com/Wirecloud/wirecloud/blob/develop/LICENSE.txt 的许可证信息。
此镜像官方支持 Docker 1.7.0 版本。
对旧版本(低至 1.0)的支持基于尽力而为原则。
本文档应提供使用 Docker 安装 WireCloud 所需的一切信息。此外,可在 Read the Docs 上找到用户与程序员手册以及管理指南。
如对此镜像有任何问题或疑问,请通过 https://github.com/Wirecloud/docker-wirecloud/issues 联系我们。
也可通过 StackOverflow 上的 fiware 和 fiware-wirecloud 标签联系许多官方镜像维护者:StackOverflow。
欢迎贡献新功能、修复或更新,无论大小;我们始终乐于接收拉取请求,并尽力快速处理。
在开始编码前,建议通过 https://github.com/Wirecloud/docker-wirecloud/issues 讨论您的计划,尤其是对于更宏大的贡献。这使其他贡献者有机会为您指明正确方向、提供设计反馈,并帮助您了解是否有其他人正在从事相同工作。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务