运维开发网

Docker compose 配置 Snipe IT 练习

运维开发网 https://www.qedev.com 2021-04-08 10:22 出处:51CTO 作者:beanxyz
之前豆子在公司配置了SnipeIT的容器。Docker的配置命令很简单配置Mysql数据库dockerrun\--namesnipe-mysql\-d\-eMYSQL_ROOT_PASSWORD="Ylh16888test"\-eMYSQL_DATABASE=snipe\-eMYSQL_USER=snipe\-eMYSQL_PASSWORD="Ylh16888test"\-eTZ=America/

之前豆子在公司配置了Snipe IT的容器。Docker的配置命令很简单

配置Mysql数据库

docker run \
--name snipe-mysql \
-d \
-e MYSQL_ROOT_PASSWORD="Ylh16888test" \
-e MYSQL_DATABASE=snipe \
-e MYSQL_USER=snipe \
-e MYSQL_PASSWORD="Ylh16888test" \
-e TZ=America/Chicago \
-p 127.0.0.1:3306:3306 \
-v /media/snipe-mysql:/var/lib/mysql \
mysql:5.6 --sql-mode=""

配置web 服务器

docker create \
 --name=snipe-it \
 --link snipe-mysql:db \
 -e PUID=1000 \
 -e PGID=1000 \
 -e DB_CONNECTION=mysql \
 -e DB_HOST=snipe-mysql \
 -e DB_DATABASE=snipe \
 -e DB_USERNAME=snipe \
 -e DB_PASSWORD="Ylh16888test" \
 -e APP_KEY=base64:5U/KPKw1GN/Rz0fWYO/4FsSOqjmjvDAQzMCqwcAqstc= \
 -p 8082:80 \
 -v /media/snipe-conf:/config \
 --restart unless-stopped \
  snipe/snipe-it

运行web 服务器

docker start snipe-it

我把他改成了对应的docker-compose 文件, 有几个小小的心得记录一下

https://github.com/beanxyz/dockercompose

首先,我把snipe/snipe-it 这个镜像文件重新用Dockerfile写了一遍,目的是加入docker-compose-wait的这个小插件,这样我可以指定等待Mysql数据库完全起来之后,再执行我的web服务器,否则会报错找不到数据库。

Docker compose 配置 Snipe IT 练习

第二个小问题是这个最新的镜像有个小bug,需要刷新一下数据库的权限。因此刚开始配置完了以后没工作我还以为是我的问题,后来在github上找到了其他人的答复。https://github.com/snipe/snipe-it/issues/8541

第三点是注意使用volume而不是bind mount,因为如果是共享文件的话,其他人未必有bind mount指定的目录

第四点是我需要传入一个API key,但是为了安全起见,应该是放在 docker-compose的.env 文件里面,而且应该放在.gitignore里面,这样不会暴露在公共的repository里面。

 

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号