NAS使用docker+wordpress快速搭建个人博客

1. nas上的docker安装就不多说了,直接点开【套件中心】->【Docker】中下载并安装

2. 打开界面或命令行先拉取一个mysql5.7的镜像:

sudo docker pull mysql:5.7

3. 再从wordpress的dockerhub上拉取博客源码镜像:

sudo docker pull workpress:latest 

wordpress数据存储依赖mysql数据库,以docker容器方式部署完整的wordpress博客服务,则需要从镜像仓库拉取mysql、wordpress镜像,这里选择从开源的docker hub 获取mysql 5.7版本,wordpress latest版本,同时需要准备一台具备外网环境的机器,硬件配置最好1C2G以上,当然1C1G也是没有问题的。

4. 启动数据库服务:

sudo docker run -dit --name mysql-db -p 3306:3306 -v /var/services/homes/yine/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7 /bin/bash

mysql容器的名字为mysql-db,数据库文件则保存在当前机器的xxx/data/mysql目录下,-e MYSQL_ROOT_PASSWORD以环境变量的方式设置mysql的数据库密码为root,用户名默认root,可以通过注入环境变量修改,更多参数设置请参考docker hub。命令执行成功之后,利用docker ps查询容器是否成功启动, 如果未启动成功,注意要修改/root/yine/data/mysql 目录的执行权限。

5. 可以定期对数据进行备份,当然除了以数据库文件作为备份之外,还可以通过执行msyql命令备份sql脚本数据。

sudo docker exec mysql-db sh -c 'exec mysqldump --databases wordpress -uroot -proot' > wordpress.sql

6. 数据库成功启动之后,再启动wordpress容器服务:

sudo docker run -v /var/services/homes/yine/data/wordpress/wp-content:/var/www/html/wp-content --name my-wordpress --link mysql-db:db -p 9090:80 -d wordpress

在XXX/data/wordpress/wp-content目录下修改文件内容,可以马上在服务中体现,非常方便,–link 表示关联了mysql-db容器,那么在my-wordpress容器中可以通过db直接访问mysql-db,可以进入my-wordpress容器查看–link增加了hosts记录。-p指定了容器的端口映射,当前wordpress的服务通过当前机器的9090端口即可访问。

yine@zerostudio:~$ sudo docker exec -it my-wordpress sh # cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 db ed46aac6d374 mysql-db 172.17.0.3 8b56cbaa5298

7. 配置wordpress
现在通过浏览器直接访问 http://ip:9090/ ,比如当前服务器的ip为192.168.2.100,那么直接访问 http://192.168.2.100:9090/ 即可访问wordpress,然后跳转到管理员配置页面。

NAS使用docker+wordpress快速搭建个人博客插图

注意 databaseName需手动创建, 因为启动wordpress容器时做了和mysql的–link容器关联操作,所以Database Host可以填写关联别名db.

root@f2708102507e:/# mysql -h db -u root -proot ERROR 1130 (HY000): Host '172.17.0.4' is not allowed to connect to this MySQL server root@f2708102507e:/# root@f2708102507e:/# root@f2708102507e:/# cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 db ed46aac6d374 mysql-db 172.17.0.4 f2708102507e

当出现不允许连接时,需要做如下操作,先从mysql-server容器登录进去, 做如下操作:

root@ed46aac6d374:/var/lib/mysql# mysql -u root -proot mysql> use mysql; Database changed mysql> update user set host = '%' where user = 'root'; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select host, user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | root | | localhost | mysql.session | | localhost | mysql.sys | +-----------+---------------+ 3 rows in set (0.00 sec) 

如果后台编辑时提示找不到主题,多半是docker挂载的目录文件夹的读写权限不对,可以进去加一下权限就OK了。

8. 如何设置中文, 进入管理后台, 然后点 setting 中间的站点语言 保存即可, 后边的操作就不用多说了, 到此结束!

原文链接:https://blog.csdn.net/y_xianjun/article/details/105294637?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836987416800226511564%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836987416800226511564&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-15-105294637-null-null.nonecase&utm_term=%E7%BB%BF%E8%81%94NAS

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享