当前位置:   article > 正文

用docker部署webstack导航网站-其一_arvon2014/webstack 下载

arvon2014/webstack 下载

序言

        认识的好朋友斥资买了一个NAS,并搭建了webdev和其他一些web应用,用于存放电子书、电影,并用alist搭建了一个网盘。现在他还缺少一个导航页,于是委托我给他做一个导航页。我欣然接受了,他想做一个和TBox导航一样的导航页,TBox的URL如下:

TBox导航https://www.tboxn.com/

        于是我找到了TBox导航的模板,使用的是一个名为webstack的开源前端模板,Github链接如下:

❤️静态响应式网址导航网站 - webstack.cchttps://github.com/WebStackPage/

        这是一个还在进展中的项目,后台管理系统还在搭建,我的想法是自己给它做一个,至于是用django、flask还是ssm,目前还没想好。

        今天,我先把前端跑了起来,有一个小伙伴贡献了用php做后端的docker,我直接用docker把他pull了下来,原本以为最多2小时就能搞定的事情结果搞了一上午加半个下午。谨此,我把本次使用docker遇到的问题给记录下,以便后续查阅。

        关于该项目的后端,后续后空我会一步步地完成,并在博客上记录下来。

        在webstack的github官方页面上,我找到了docker镜像相关的内容,这意味着我不需要自己用dockerfille去创建镜像了。因此,我感到很开心;殊不知,这才是噩梦的开始。

遇到的问题

        主要是这两个问题:

  • webstack容器无法运行
  • 网站报错:No application encryption key has been specified

安装webstack的docker镜像

        我参考了webstack的docker镜像官方的指南。如下所示:

arvon2014/webstack-laravelhttps://hub.docker.com/r/arvon2014/webstack-laravel/tags        安装了1.2.2版本的镜像:

docker pull arvon2014/webstack-laravel:v1.2.2

        然后使用docker run命令创建了一个容器:

docker run -itd --name my_navigation_website -p XXXXX:8000 arvon2014/webstack-laravel:v1.2.2

        但是,通过

docker ps -a

查看的时候,发现容器my_navigation_website状态是exit的,说明已经挂了,没有运行起来。于是,我开始寻找原因。由于官方文档写的很差劲,我花了许久的时间,才发现是因为该容器需要一个mysql,而且偶没有特意给它创建一个mysql。于是,原本只有一个容器,现在成了两个容器,我打算用docker-compose处理。

使用docker-compose管理两个docker

        于是,我根据官方指南:

顺理成章地写出这个docker-compose.yml文件:

  1. version: "3"
  2. services:
  3. navigation_website:
  4. image: arvon2014/webstack-laravel:v1.2.2
  5. container_name: my_navigation_website
  6. ports:
  7. - "XXXXX:8000"
  8. volumes:
  9. - /etc/navigation_website
  10. networks:
  11. - lingjianhua_network
  12. environment:
  13. DB_HOST: ***.***.***.***
  14. DB_PORT: XXXXX
  15. DB_PASSWORD: **********
  16. depends_on:
  17. - mysql
  18. mysql:
  19. image: mysql:5.6
  20. container_name: navigation_website_mysql
  21. environment:
  22. MYSQL_ROOT_PASSWORD: **************
  23. MYSQL_ALLOW_WMPTY_PASSWORD: 'no'
  24. MYSQL_DATABASE: 'XXXXXXXX'
  25. MYSQL_USER: 'XXXXXXX'
  26. MYSQL_PASSWORD: *******************
  27. ports:
  28. - "XXXXX:3306"
  29. volumes:
  30. - /app/mysql/db:/var/libmysql
  31. - /app/mysql/conf/my.cnf:/etc/my.cnf
  32. - /app/mysql/init:/docker-entrypoint-initdb.d
  33. networks:
  34. - lingjianhua_network
  35. networks:
  36. lingjianhua_network:

        由于是在同个服务器上,我使用了network进行连接,使得容器可以互相通信,具体的地址和端口我码了。然后我使用了命令

  1. docker-compose pull
  2. docker-compose up

运行了mysql,然后再用命令

docker ps -a

查看情况,我发现mysql起来了,但是网站的那个docker挂掉了。我用了navicat链接了下数据库发现问题没有,那就是webstack的问题了。

        经过大概3小时的查验,我偶然解决了这个问题,只要将docker镜像的版本换成1.2.1即可解决。具体是什么原因我不得而知。终于,两个docker都是UP状态了,我满心欢喜的打开页面,却得到了如下的报错:

No application encryption key has been specified

        具体查阅信息,需要输入如下命令:

php artisan key:generate

         输入了之后,网站报错还是一样,经查阅我得到了如下的博文:

WebStack-Laravel 和宝塔导航网站部署https://blog.csdn.net/mp624183768/article/details/103412247        这位老兄虽然使用的是宝塔部署网站,但是和我遇到的问题是一样的,我对php也不熟,他给的解决方案是这样的:

9、nano .env 修改配置参数(ftp方式 或者宝塔修改都可以)  appkey不用写 第10步骤会生成的

  1. APP_NAME=WebStack
  2. APP_ENV=local(这里如果正式运行,请修改为:production)
  3. APP_KEY=
  4. APP_DEBUG=true(如果安装没问题,建议改为false)
  5. APP_LOG_LEVEL=debug
  6. APP_URL=https://www.liuian.wiki(不懂如何https的这里可以先配置http )
  7. #数据库信息
  8. DB_CONNECTION=mysql
  9. DB_HOST=127.0.0.1
  10. DB_PORT=3306
  11. DB_DATABASE=masaike
  12. DB_USERNAME=masaike
  13. DB_PASSWORD=masaike

10、通过php artisan key:generate  赋值key
11、通过php artisan migrate:refresh --seed迁移数据 (迁移数据的意思就是初始化数据库什么的 是要执行的~!)
————————————————
版权声明:本文为CSDN博主「安果移不动」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mp624183768/article/details/103412247

         于是我运行了

php artisan key:generate 

然后获得了key,然后用vi改了.env文件,接着就使用了命令

  1. # 清理缓存
  2. php artisan cache:clear
  3. # 重新配置缓存
  4. php artisan config:cache
  5. # 迁移数据
  6. php artisan migrate:refresh --seed

结束

于是,我成功的打开了页面。但目前还没有部署nginx,所以端口号会暴露,就暂不提供链接了!放张图吧!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/45743
推荐阅读
相关标签
  

闽ICP备14008679号