? 最近因为疫情起因,阿里云出了在家实践活动免费送主机,早起两天就抢到啦。有了服务器当然第一件事就是建站!
资源隔离,环境破环重新运行一个容器就可
服务运行在容器中, 减少一般黑客的攻击
考虑到一年免费时间过后博客网站必定迁移,使用docker只要将容器复制就可轻松迁移。
? 系统安装的方式不一样,以下环境均在Ubuntu16.04上运行。下面上代码
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun? 很简单,一行命令搞定,这是官方的脚本,后面跟的是阿里云镜像。等待安装完成之后将客户增加至docker组,否则可能没有权限执行某些操作,当然假如你是root客户就当我没说吧。
sudo usermod -aG docker your-user? 假如不配置docker的镜像源,从官方下载可能速度会太慢,由于dockerhub站点在国外。
vim /etc/docker/daemon.json#增加如下内容,假如没有此文件新建一个就可{ "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com", "https://registry.docker-cn.com" ]}docker pull wordpressdocker pull mysql:5.7docker network create wpmysql## 运行MySQL数据库容器docker run -d -i -t --name mysql --network wpmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' mysql:5.7? 参数解释:- -d 使容器后端运行 -i -t 起到能与容器经行交互式的作用 --name 给你的容器起个名字 --network 将此容器增加至哪个网络 -p 容器与宿主机之间的端口映射(宿主机端口 :容器端口) -e 此容器自己设置参数 MSQL_ROOT_PASSWORD设置此容器MySQL数据库的root初始密码
docker exec -it mysql bash#连接容器之后连接容器的mysql数据库mysql -u root -p#执行已下命令创立客户、数据库、给客户赋权create database if not exists wordpress;create user 'username'@'%' identified by 'password';grant all on wordpress.* to 'username'@'%';docker run -d -i -t --name wordpress --network wpmysql -p 8080:80 --link mysql wordpress? 用浏览器地址栏输入:http:yourip:8080就可登入wordpress的设置界面数据库主机那一栏输入 mysql其他看提醒应该没有问题
端口未开放,使得输入 http:yourip:8080 显示无法连接,此时请找百度查看本机端口8080、3306能否开放
wordpress站点只能为英文,不能下载主题,不能更换语言,显示too many requests,具体起因百度搜索。
插件中心搜索WP-China-Yes这是国人开发的插件,插件里有详情不在此赘述。此时可升级主题、博客语言
走到运行wordpress容器这一步运行完之后,进入此搭载wordpress的容器docker exec -it wordpress bash此容器删除/var/www/html目录下的所有文件rm -rf *。移步至本地用迅雷(或者其余下载软件)下载https://cn.wordpress.org/wordpress-5.3.2-zh_CN.tar.gz而后上传至服务器(不会请百度,用scp,或者filezilla),解压此文件tar -zxvf wordpress-5.3.2-zh_CN.tar.gz而后将文件夹传送搭载wordpress的容器docker cp wordpress wordpress:/var/www/html修改文件夹的所属组chown -R www-data:www-data wordpress此时浏览器访问http://your-ip:8080/wordpress就可进入wordpress安装界面,不过同样最好下载WP-China-Yes否则主题等之类的还是不能正常升级。