首页 > 其他 > 详细

Docker compose 配置 Snipe IT 练习

时间:2021-04-07 23:25:06      阅读:49      评论:0      收藏:0      [点我收藏+]
之前豆子在公司配置了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服务器,否则会报错找不到数据库。

技术分享图片

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

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

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

?

Docker compose 配置 Snipe IT 练习

原文:https://blog.51cto.com/beanxyz/2690703

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!