「折腾」Docker 化安装 Z-BlogPHP

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

使用 Docker Compose 部署「推荐」

wdssmq/zbp-docker-compose: 使用 Docker Compose 快捷部署 Z-BlogPHP + MySQL;:

https://github.com/wdssmq/zbp-docker-compose

  1. # 安装 Docker Compose
  2. sudo curl -L https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` \
  3. -o /usr/local/bin/docker-compose
  4. sudo chmod +x /usr/local/bin/docker-compose
  5. docker-compose --version

生成最新版 Docker Compose 安装命令:https://demo.wdssmq.com/tools/GenShell/

创建一个网络用于容器互通

docker network create -d bridge net_web

后续创建的容器全部连接至该网络中,更多说明请见「这个链接」;

Docker 安装 MysQL + PHPMyAdmin

Docker 安裝 Mysql + Phpmyadmin | 愛吃東西的 RD

~~网络设置仍然不是很懂,只能说这样确实成功了;~~

下边命令最初是在 CentOS 下测试,Ubuntu 可能要加 sudo

  1. # cd /root
  2. # MYSQL_DIR=/root/MySQL
  3. # if [ ! -d $MYSQL_DIR ]; then
  4. # mkdir -p $MYSQL_DIR
  5. # fi
  6. # 删除已创建的容器
  7. docker rm --force MySQL
  8. docker run --name MySQL \
  9. --net=net_web \
  10. -e MYSQL_ROOT_HOST=172.%.%.% \
  11. -e MYSQL_ROOT_PASSWORD=shujukumima \
  12. --restart on-failure \
  13. -d mysql/mysql-server:5.7
  14. # PHPMyAdmin,映射端口为 9100
  15. docker rm --force PHPMyAdmin
  16. docker run --name PHPMyAdmin \
  17. --network=net_web \
  18. -e PMA_HOST=MySQL \
  19. -e UPLOAD_LIMIT=4096K \
  20. -p 9100:80 \
  21. -d phpmyadmin/phpmyadmin
  22. # 平时可以停用,需要的时候再开启
  23. docker stop PHPMyAdmin
  24. docker start PHPMyAdmin
  25. # MySQL 安装验证
  26. docker exec -it MySQL mysql -u root -p
  27. # 进入容器内登录测试
  28. # docker exec -it MySQL /bin/bash
  29. # mysql -u root -p
  30. # 命令行备份
  31. if [ ! -d ~/backup ]; then
  32. mkdir ~/backup
  33. fi
  34. # 指定要备份的数据库
  35. DB_NAME=zblog_docker
  36. docker exec -it MySQL mysqldump \
  37. -u root -pshujukumima \
  38. $DB_NAME > ~/backup/db_$DB_NAME-$(date +%Y-%m-%d-%H-%M).sql
  39. # ↑ 重要:-p 参数后要不带空格直接连着密码
  40. # 导入数据库
  41. DB_SQL=~/backup/db_www.wdssmq.com.sql
  42. DB_NAME=zblog_docker2
  43. docker exec -i MySQL mysql \
  44. -u root -pshujukumima \
  45. -D $DB_NAME < $DB_SQL
  46. # 下边命令仅作参考
  47. use mysql;
  48. select host,user from user;
  49. update user set host='%' where user='root';

====================

Docker 安装 Z-BlogPHP

  1. ZBP_DIR=~/wwwroot/zbp_folder
  2. ZBP_PORT=8082
  3. if [ ! -d $ZBP_DIR ]; then
  4. mkdir -p $ZBP_DIR
  5. fi
  6. # 删除创建的容器
  7. docker rm --force zbp
  8. docker run --name zbp \
  9. --net=net_web \
  10. -v $ZBP_DIR:/app \
  11. -e ZC_DB_HOST=MySQL \
  12. -e ZC_DB_NAME=zblog_docker \
  13. -e ZC_DB_USER=root \
  14. -e ZC_DB_PWDD=shujukumima \
  15. -e ZC_BLOG_USER=admin \
  16. -e ZC_BLOG_PWDD=shezhimima \
  17. -p $ZBP_PORT:80 \
  18. --restart on-failure \
  19. -d wdssmq/zblogphp
  20. # 查看日志
  21. docker logs zbp
  22. # 进入容器内部
  23. docker exec -it zbp /bin/bash

====================

构建 ZBP-Docker 镜像并发布到 docker hub

zblogcn/zblogphp-tencent-openapp-docker:

https://github.com/zblogcn/zblogphp-tencent-openapp-docker

  1. cd ~/git
  2. # 克隆项目并进入目录
  3. git clone git@github.com:zblogcn/zblogphp-tencent-openapp-docker.git zbp-docker
  4. cd zbp-docker
  5. # Build
  6. docker build -t wdssmq/zblogphp:22.05 .
  7. # —— 指定 Tag
  8. docker build -t wdssmq/zblogphp .
  9. # —— 不指定 Tag,将默认为 :latest
  10. # 查看镜像
  11. docker image ls
  12. # 登录 docker hub
  13. # https://hub.docker.com/
  14. # https://hub.docker.com/settings/security
  15. # 推荐用 Access Tokens 作为下边登录的密码
  16. docker login -u <用户名> -p <密码>
  17. # 发布镜像
  18. docker push wdssmq/zblogphp:22.05
  19. docker push wdssmq/zblogphp:latest

=========================

其他

各种错误提示:

· Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.

解决:

执行ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

· Permission denied (publickey).

解决:

使用形如git@github.com:zblogcn/zblogphp-tencent-openapp-docker.git的地址进行连接但是没有配置「SSH Key」时会出现该提示;

见下方ssh-keygen生成命令,然后将生成的*.pub内容填加至:https://github.com/settings/ssh/new

· ERROR: You're using an RSA key with SHA-1, which is no longer allowed. Please use a newer client or a different key type

解决:

RSA 算法已被认为不再安全(主要取决于密钥长度);

更直接的方法是更换算法为 ecdsa 或 ed25519,两者之间后者更安全,当然如果你的环境较旧,出现了unknown key type ed25519的提示,那么就选前者;

  1. ssh-keygen -t ed25519
  2. # unknown key type ed25519
  3. ssh-keygen -t ecdsa

· Docker 网络相关

更详细的说明见「这个链接」;

  1. docker network ls
  2. docker network inspect bridge
  3. docker network inspect host
  4. docker network create -d bridge net_web
  5. docker network inspect net_web

爱发电

本文标题:《「折腾」Docker 化安装 Z-BlogPHP》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20120817544.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

nuc 四个口插硬盘都识别不到,有亮灯。。最后试出别插到底。。

绿联的硬盘盒。。另外一个联想的没问题。。

近期观影记录:超级马里奥,死侍与金刚狼。。

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

本质上,每个人需要的是「让自己面临的问题得到解决」的能力。。

这又涉及到直接能力和间接能力,,缺乏直接能力很正常,视情况可以通过学习来掌握直接能力,或者「请」有直接能力的人来帮自己解决。。

缺乏间接能力的情况是真没救,尤其是对「这是**我自己**面临的问题」这一前提没有明确认知的人。。

最新留言

友情链接

手机扫码查看