
grokability/snipe-itsnipe/snipe-it是Snipe-IT项目的官方Docker镜像,用于便捷部署开源IT资产管理系统Snipe-IT。Snipe-IT是一款功能全面的资产管理工具,专为IT团队设计,支持资产全生命周期跟踪、许可证管理、维护记录及报表生成,广泛应用于企业、教育机构及中小型团队。
bashdocker pull snipe/snipe-it:latest
bashdocker run -d \ --name snipe-it \ -p 8080:80 \ -e APP_KEY=base64:your_app_key_here \ -e DB_HOST=your_db_host \ -e DB_DATABASE=snipeit \ -e DB_USERNAME=snipeit_user \ -e DB_PASSWORD=your_db_password \ -e DB_PORT=3306 \ -v snipeit_storage:/var/www/html/storage \ -v snipeit_public:/var/www/html/public/uploads \ snipe/snipe-it:latest
说明:
APP_KEY:需生成32位随机字符串(可通过docker run --rm snipe/snipe-it:latest php artisan key:generate --show获取)- 卷挂载:
snipeit_storage存储系统配置与日志,snipeit_public存储上传的资产图片等文件- 数据库需提前创建数据库实例及用户,并赋予权限
创建docker-compose.yml文件,集成Snipe-IT与MariaDB数据库:
yamlversion: '3.8' services: snipe-it: image: snipe/snipe-it:latest container_name: snipe-it restart: always ports: - "8080:80" environment: - APP_KEY=base64:your_generated_app_key - APP_ENV=production - APP_DEBUG=false - APP_URL=http://localhost:8080 - DB_CONNECTION=mysql - DB_HOST=db - DB_PORT=3306 - DB_DATABASE=snipeit - DB_USERNAME=snipeit_user - DB_PASSWORD=secure_password_here - MAIL_DRIVER=smtp - MAIL_HOST=smtp.example.com - MAIL_PORT=587 - MAIL_USERNAME=*** - MAIL_PASSWORD=your_email_password - MAIL_ENCRYPTION=tls - MAIL_FROM_ADDR=*** - MAIL_FROM_NAME="Snipe-IT Admin" volumes: - snipeit_storage:/var/www/html/storage - snipeit_public:/var/www/html/public/uploads depends_on: - db db: image: mariadb:10.6 container_name: snipe-it-db restart: always environment: - MYSQL_DATABASE=snipeit - MYSQL_USER=snipeit_user - MYSQL_PASSWORD=secure_password_here - MYSQL_ROOT_PASSWORD=root_secure_password volumes: - snipeit_db:/var/lib/mysql ports: - "3306:3306" volumes: snipeit_storage: snipeit_public: snipeit_db:
启动服务:
bashdocker-compose up -d
| 环境变量 | 描述 | 示例值 |
|---|---|---|
APP_KEY | 应用加密密钥(必需),32位随机字符串 | base64:abcdef***abcdef*** |
APP_URL | 应用访问URL | [***] |
DB_CONNECTION | 数据库类型(仅支持mysql) | mysql |
DB_HOST | 数据库主机地址 | db(Docker Compose服务名)或192.168.1.100 |
DB_DATABASE | 数据库名称 | snipeit |
DB_USERNAME | 数据库用户名 | snipeit_user |
DB_PASSWORD | 数据库密码 | SecurePass123! |
MAIL_* | 邮件配置(用于发送通知、密码重置等) | 参考上述docker-compose.yml示例 |
APP_TIMEZONE | 应用时区 | Asia/Shanghai |
MAX_UPLOAD_SIZE | 最大上传文件大小(MB) | 50 |
为避免容器重启或重建导致数据丢失,需挂载以下目录:
/var/www/html/storage:存储系统配置、日志、缓存/var/www/html/public/uploads:存储上传的资产图片、附件/var/lib/mysql,通过数据库容器挂载)bashdocker pull snipe/snipe-it:latest
bashdocker-compose down && docker-compose up -d
注意:升级前建议备份数据库及持久化卷数据。
docker logs snipe-it查看启动状态APP_KEY必须唯一且保密,请勿使用示例值storage、public/uploads目录,防止数据丢失

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务