
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像提供CodeIgniter4开发环境,无需在本地安装PHP、Web服务器及其他服务器软件,仅需Docker和Docker Compose即可搭建。适用于快速创建一致的CodeIgniter4开发环境,避免本地环境配置差异问题。
注意:此包处于早期开发阶段,尚未准备好用于生产环境。旧版本仍可在名为"old"的分支中获取。
构建镜像
克隆仓库并运行构建脚本:
bash./build.sh
启动容器
根据需要的PHP版本启动容器(将/localfolder替换为本地项目目录):
PHP 7.4:
bashdocker container run -it --publish 80:80 --name ci4 -v /localfolder:/var/www/html codeigniter4.2.3:7.4.30-apache
PHP 8.0:
bashdocker container run -it --publish 80:80 --name ci4 -v /localfolder:/var/www/html codeigniter4.2.3:8.0.20-apache
PHP 8.1:
bashdocker container run -it --publish 80:80 --name ci4 -v /localfolder:/var/www/html codeigniter4.2.3:8.1.9-apache
使用Docker Compose
安装Docker和Docker Compose;
将docker-compose.yml文件复制到项目根目录,并根据需求编辑;
在docker-compose.yml文件中取消注释要使用的镜像;
从项目目录启动应用:
bashdocker-compose up -d
停止应用(含卷清除):
bashdocker-compose down --volumes
环境文件配置
允许值:[0, 1]
REGEN_ENV_FILE - 若为1,容器启动时将创建并覆盖.env文件应用配置
CI_ENVIRONMENT - 环境类型 [production, development, tests]APP_BASE_URL - CodeIgniter根URL,通常带尾斜杠 [http://localhost/]APP_FORCE_GLOBAL_SECURE_REQUESTS - 是否强制所有请求使用HTTPS [true, false]应用会话配置
APP_SESSION_DRIVER - 会话驱动 [CodeIgniter\Session\Handlers\FileHandler]APP_SESSION_COOKIE_NAME - 会话Cookie名称 [ci_session]APP_SESSION_EXPIRATION - 会话过期时间(秒) [7200]APP_SESSION_SAVE_PATH - 会话保存路径 [null]APP_SESSION_MATCH_IP - 是否匹配IP [true, false]APP_SESSION_TIME_TO_UPDATE - 会话更新时间(秒) [300]APP_SESSION_REGENERATE_DESTROY - 重新生成会话时是否销毁旧会话 [true, false]APP_CSP_ENABLED - 是否启用内容安全策略 [true, false]默认数据库配置
DB_DEFAULT_HOSTNAME - 数据库主机名 [127.0.0.1]DB_DEFAULT_DATABASE - 数据库名称DB_DEFAULT_USERNAME - 数据库用户名DB_DEFAULT_PASSWORD - 数据库密码DB_DEFAULT_DRIVER - 数据库驱动 [MySQLi, SQLSRV, Postgre, OCI8, SQLite3]DB_DEFAULT_PORT - 数据库端口 [3306, 1443, 5432, 1521]DB_DEFAULT_PREFIX - 数据库表前缀测试数据库配置
DB_TESTS_HOSTNAME - 测试数据库主机名 [127.0.0.1]DB_TESTS_DATABASE - 测试数据库名称DB_TESTS_USERNAME - 测试数据库用户名DB_TESTS_PASSWORD - 测试数据库密码DB_TESTS_DRIVER - 测试数据库驱动 [MySQLi, SQLSRV, Postgre, OCI8, SQLite3]DB_TESTS_PORT - 测试数据库端口 [3306, 1443, 5432, 1521]DB_TESTS_PREFIX - 测试数据库表前缀内容安全策略配置
CONTENT_SECURE_POLICY_REPORT_ONLY - CSP报告模式 [true, false]CONTENT_SECURE_POLICY_DEFAULT_SRC - 默认资源来源,未覆盖时默认为self [none]CONTENT_SECURE_POLICY_SCRIPT_SRC - 允许的脚本URL [self]CONTENT_SECURE_POLICY_STYLE_SRC - 允许的样式表URL [self]CONTENT_SECURE_POLICY_IMAGE_SRC - 允许加载图片的来源 [self]CONTENT_SECURE_POLICY_BASE_URI - 限制<base>元素的URL [null]CONTENT_SECURE_POLICY_CHILD_SRC - 允许的工作线程和嵌入框架内容URL [null]CONTENT_SECURE_POLICY_CONNECT_SRC - 允许连接的来源(XHR、WebSocket等) [self]CONTENT_SECURE_POLICY_FONT_SRC - 允许的Web字体来源 [null]CONTENT_SECURE_POLICY_FORM_ACTION - 允许的表单提交端点 [null]CONTENT_SECURE_POLICY_FRAME_ANCESTORS - 允许嵌入当前页面的来源 [null]CONTENT_SECURE_POLICY_FRAME_SRC - 允许加载到嵌套浏览上下文的URL [null]CONTENT_SECURE_POLICY_MEDIA_SRC - 允许的音视频来源 [null]CONTENT_SECURE_POLICY_OBJECT_SRC - 控制Flash等插件 [null]CONTENT_SECURE_POLICY_PLUGIN_TYPES - 限制页面可调用的插件类型 [null]CONTENT_SECURE_POLICY_REPORT_URI - CSP违规报告提交URL [null]CONTENT_SECURE_POLICY_SANDBOX - 允许的操作列表 [true, false]CONTENT_SECURE_POLICY_UPGRADE_INSECURE_REQUESTS - 是否将HTTP请求重写为HTTPS [true, false]Cookie配置
COOKIE_PREFIX - Cookie名称前缀,避免冲突 [``]COOKIE_EXPIRES - Cookie默认过期时间戳 [0]COOKIE_PATH - Cookie路径,通常为斜杠 [/]COOKIE_DOMAIN - Cookie域名,如.your-domain.com表示全站 [``]COOKIE_SECURE - 是否仅在HTTPS连接下设置Cookie [true, false]COOKIE_HTTP_ONLY - 是否仅通过HTTP(S)访问(禁止JavaScript) [true, false]COOKIE_SAME_SITE - Cookie SameSite设置 [None, Lax, Strict, '']COOKIE_RAW - 是否允许设置"raw"Cookie [true, false]加密配置
ENCRYPTION_KEY - 使用加密类时必须设置的加密密钥 [``]ENCRYPTION_DRIVER - 支持的加密驱动 [OpenSSL, Sodium]ENCRYPTION_BLOCK_SIZE - 加密前填充到明文的字节数 [16]ENCRYPTION_DIGEST - 使用的HMAC摘要 [SHA256, SHA512]Honeypot配置
HONEYPOT_HIDDEN - 是否对人类隐藏Honeypot [true, false]HONEYPOT_LABEL - Honeypot标签内容 [Fill This Field]HONEYPOT_NAME - Honeypot字段名称 [honeypot]HONEYPOT_TEMPLATE - Honeypot HTML模板 [<label>{label}</label><input type="text" name="{name}" value=""/>]HONEYPOT_CONTAINER - Honeypot容器 [<div style="display:none">{template}</div>]安全配置
SECURITY_CSRF_PROTECTION - CSRF保护方法 [cookie, session]SECURITY_TOKEN_RANDOMIZE - 是否随机化CSRF令牌以增强安全性 [true, false]SECURITY_TOKEN_NAME - CSRF令牌名称 [csrf_token_name]SECURITY_HEADER_NAME - CSRF保护头部名称 [X-CSRF-TOKEN]SECURITY_COOKIE_NAME - CSRF保护Cookie名称 [csrf_cookie_name]SECURITY_EXPIRES - CSRF保护Cookie过期时间(秒) [7200]SECURITY_REGENERATE - 是否在每次提交时重新生成CSRF令牌 [true, false]SECURITY_REDIRECT - 失败时是否重定向到前一页并显示错误 [true, false]SECURITY_SAME_SITE - CSRF SameSite Cookie设置 [None, Lax, Strict, '']日志配置
LOGGER_THRESHOLD - 错误日志启用阈值(大于0启用) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Curl请求配置
CURL_REQUEST_SHARE_OPTIONS - 是否在请求间共享选项 [true, false]Sendmail配置
ROOT_EMAIL - 接收用户ID小于1000的所有邮件的用户,为空则禁用地址重写MAIL_SERVER - 邮件发送主机MAIL_SERVER_PORT - 邮件发送端口MAIL_SERVER_USER - SMTP认证用户名MAIL_SERVER_PASSWORD - SMTP认证密码MAIL_SERVER_TLS - 是否使用TLS与SMTP服务器通信MAIL_SERVER_STARTTLS - 是否在SSL协商前执行EHLO/STARTTLScore_module (static)so_module (static)watchdog_module (static)http_module (static)log_config_module (static)logio_module (static)version_module (static)unixd_module (static)access_compat_module (shared)alias_module (shared)auth_basic_module (shared)authn_core_module (shared)authn_file_module (shared)authz_core_module (shared)authz_host_module (shared)authz_user_module (shared)autoindex_module (shared)cgi_module (shared)deflate_module (shared)dir_module (shared)env_module (shared)expires_module (shared)fcgid_module (shared)filter_module (shared)headers_module (shared)mime_module (shared)mpm_prefork_module (shared)negotiation_module (shared)php_module (shared)proxy_module (shared)proxy_http_module (shared)reqtimeout_module (shared)rewrite_module (shared)setenvif_module (shared)socache_shmcb_module (shared)ssl_module (shared)status_module (shared)[PHP Modules]
amqpastbcmathbz2calendarCorecsvctypecurldatedbadecimaldomdsenchanteveventexcimerexifFFIfileinfofilterftpgdgeospatialgettextgmpgnupggrpchashhttpiconvigbinaryimagickimapinotifyintljsonjson_postldaplibsmbclientlibxmllzfmailparsemaxminddbmbstringmcryptmemcachememcachedmongodbmsgpackmysqlimysqlndOAuthoci8odbcopencensusopensslopenswoolepcntlpcovpcrePDOpdo_dblibPDO_Firebirdpdo_mysqlPDO_OCIPDO_ODBCpdo_pgsqlpdo_sqlitepdo_sqlsrvpgsqlPharposixpspellraphfreadlineredisReflectionSeasLogsessionshmopSimpleXMLsmbclientsnmpsoapsocketssodiumSPLsqlite3sqlsrvssh2standardtokenizeruuidxdebugxmlxmldiffxmlreaderxmlrpcxmlwriterxslyacyamlyar您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务