docker部署Snipe-IT资产管理系统
- 准备docker环境(centos7)
1、安装需要的包
yum install -y yum-utils
2、设置镜像仓库(阿里)
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker
yum install docker-ce docker-ce-cli containerd.io
4、启动docker
systemctl start docker
- 准备mariadb数据库
1、安装数据库(mariadb)
yum install -y mariadb-server
2、启动、初始化数据库
# service mariadb start
# systemctl enable mariadb
# mysql_secure_installation (回车--->Y--->设置密码--->重复密码--->)
3、登陆数据库创建snipeit用户及数据库
mysql> create database snipeit; #创建一个名叫snipeit的数据库
mysql> grant all on snipeit.* to 'snipeit'@'%' identified by '123456'; #新创建一个用户snipeit 密码123456
mysql> flush privileges; # 刷新MySQL的系统权限
mysql> exit #退出数据库
下载镜像,启动容器
docker pull snipe/snipe-it #下载镜像
docker run --rm snipe/snipe-it #生成应用密钥
准备.env文件
# Mysql Parameters
MYSQL_PORT_3306_TCP_ADDR=1.1.1.1 #服务器地址
MYSQL_PORT_3306_TCP_PORT=3306
MYSQL_DATABASE=snipeit #数据库
MYSQL_USER=snipeit #用户名
MYSQL_PASSWORD=123456 #密码
# Email Parameters
# - the hostname/IP address of your mailserver
MAIL_PORT_587_TCP_ADDR=smtp.whatever.com
#the port for the mailserver (probably 587, could be another)
MAIL_PORT_587_TCP_PORT=587
# the default from address, and from name for emails
MAIL_ENV_FROM_ADDR=youremail@yourdomain.com
MAIL_ENV_FROM_NAME=Your Full Email Name
# - pick 'tls' for SMTP-over-SSL, 'tcp' for unencrypted
MAIL_ENV_ENCRYPTION=tcp
# SMTP username and password
MAIL_ENV_USERNAME=your_email_username
MAIL_ENV_PASSWORD=your_email_password
# Snipe-IT Settings
APP_ENV=production
APP_DEBUG=true
APP_KEY=base64:nemsMY7p1r67g1ANgULufMXP8iKRqGCizuKDYf2NllU=
APP_URL=http://1.1.1.1
APP_TIMEZONE=CST/Shanghai
APP_LOCALE=en
# Docker-specific variables
PHP_UPLOAD_LIMIT=100
编写docker-compose &&启动容器
version: "3"
services:
snipeit:
image: snipeit:1.0 #镜像版本
ports:
- "80:80"
container_name: snipeit100
volumes:
- ./logs:/var/www/html/storage/logs
- ./apache2.log:/var/log/apache2/
env_file:
- snipeit.env
networks:
- snipeit-backend
restart: unless-stopped
ulimits:
nofile:
soft: 1048576
hard: 1048576
nproc: 104857
volumes:
db: {}
networks:
snipeit-backend: {}
docker-compose up -d #启动服务
六、进入容器修改文件夹权限
docker exec -it snipeit bash
chmod -R 777 public/uploads
chmod -R 777 storage
- 系统设置&解决方法
系统设置
- 资产码设置
问题及解决方法
- 生成资产标签无二维码
解决:进入容器给 public/uploads 文件夹授可读写权限
- 资产标签无log图像
![](https://i-blog.csdnimg.cn/blog_migrate/6deca7bafd59273c3d2fc212c3f20453.png)
解决:找到写死的logo图片名称,到public/uploads目录下把上传的logo图片名称修改为已写死的图片名称