使用docker的好处就是尽量减少了环境部署,可靠性强,容易维护,我使用docker搭建wordpress的主要目标有下面几个 首先我重新生成数据库容器可以保证数据库数据不丢失,重新生成wordpress容器保证wordpress网站数据不丢失,尽量让两个容器处于无状态运行中,所有数据保存在本地,方便备份和恢复
首先我是在树莓派上做这个实验的,用的是别人做好的arm版本的mysql镜像,其实和官方的mysql镜像是一样的,没有任何区别,就是名字不一样而已,生成容器的命令如下 docker run –name mysql-wordpress -d -v /root/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=”woyaoxuehuilinux” hypriot/rpi-mysql 解释一下参数,–name就是给容器取名字。-d就是把它放在后台运行,-v加上后面的目录表示把容器中的/var/lib/mysql目录和宿主机中的/root/mysql-data目录做映射,把数据库数据保存在本地,-e后面加的参数就是设置mysql的密码,最后就是使用的镜像的名字
直接上运行参数 docker run –name wordpress -d -p 80:80 –link mysql-wordpress:mysql -v /root/wordpress-html:/var/www/html wordpress
还是先解释下参数–name就是给容器取名字,-d就是把容器放在后台运行-p表示容器的80端口和宿主机的80端口做映射–link表示和刚才生成的mysql容器做连接,-v表示把网站的目录和宿主机中的/root/wordpress-html做映射最后就是要使用的镜像的名字了
如果你pull完镜像,并且执行了上面的运行命令之后,直接访问主机的ip应该就是wordpress选择语言安装界面了,按照流程把wordpress安装完成,然后我们发布一篇文章,接着我们停止并且删除mysql容器 docker stop mysql-wordpress docker rm mysql-wordpress 之后访问网站显示Error establishing a database connection 就是表示连接不上数据库了,这说明是正常的 之后我们重新云翔创建mysql容器时候的命令 docker run –name mysql-wordpress -d -v /root/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=”woyaoxuehuilinux” hypriot/rpi-mysql 接着访问网站,发现网站可以正常访问 接着测试继续,我们删除数据库容器和网站容器 docker stop mysql-wordpress wordpress docker rm mysql-wordpress wordpress 接着 访问网站,此时网站肯定不能访问,之后我们重新创建这两个容器 docker run –name mysql-wordpress -d -v /root/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=”woyaoxuehuilinux” hypriot/rpi-mysql docker run –name wordpress -d -p 80:80 –link mysql-wordpress:mysql -v /root/wordpress-html:/var/www/html wordpress 然后访问网站 见证奇迹的时刻 网站可以正常访问,数据也没有丢失
从上面我们就可以总结出备份网站的步骤了,首先保存两个执行容器的命令到一个文本文件,接着把mysql-data和wordpress-html打包备份就好了,容器的启动时间只要几秒钟,所以如果你要做一个安全的网站架构你可以这么做,把上面我说的两个目录保存在存储中,容器运行在服务器上,或者使用k8s去管理容器,当然存储也是需要做备份的,这样只要就可以保证服务的超级可靠性了。
概述 使用docker的好处就是尽量减少了环境部署,可靠性强,容易维护,我使用docker搭建wordpress的主要目标有下面几个 首先我重新生成数据库容器可以保证数据库数据不丢失,重新生成wordpress容器保证wordpress网站数据不丢失,尽量让两个容器处于无状态运行中,所有数据保存在本地,方便备份和恢复 mysql容器方面 首先我是在树莓派上做这个实验的,用的是别人做好的arm版本的mysql镜像,其实和官方的mysql镜像是一样的,没有任何区别,就是名字不一样而已,生成容器的命令如下 docker run –name mysql-wordpress -d -v /root/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=”woyaoxuehuilinux” hypriot/rpi-mysql 解释一下参数,–name就是给容器取名字。-d就是把它放在后台运行,-v加上后面的目录表示把容器中的/var/lib/mysql目录和宿主机中的/root/mysql-data目录做映射,把数据库数据保存在本地,-e后面加的参数就是设置mysql的密码,最后就是使用的镜像的名字 wordpress容器方面 直接上运行参数 docker run –name wordpress -d -p 80:80 –link mysql-wordpress:mysql -v /root/wordpress-html:/var/www/html wordpress 还是先解释下参数–name就是给容器取名字,-d就是把容器放在后台运行-p表示容器的80端口和宿主机的80端口做映射–link表示和刚才生成的mysql容器做连接,-v表示把网站的目录和宿主机中的/root/wordpress-html做映射最后就是要使用的镜像的名字了 测试 如果你pull完镜像,并且执行了上面的运行命令之后,直接访问主机的ip应该就是wordpress选择语言安装界面了,按照流程把wordpress安装完成,然后我们发布一篇文章,接着我们停止并且删除mysql容器 docker stop mysql-wordpress docker rm mysql-wordpress 之后访问网站显示Error establishing a database connection 就是表示连接不上数据库了,这说明是正常的 之后我们重新云翔创建mysql容器时候的命令 docker run –name mysql-wordpress -d -v /root/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=”woyaoxuehuilinux” hypriot/rpi-mysql 接着访问网站,发现网站可以正常访问 接着测试继续,我们删除数据库容器和网站容器 docker stop mysql-wordpress wordpress docker rm mysql-wordpress wordpress 接着 访问网站,此时网站肯定不能访问,之后我们重新创建这两个容器 docker run –name mysql-wordpress -d -v /root/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=”woyaoxuehuilinux” hypriot/rpi-mysql docker run –name wordpress -d -p 80:80 –link mysql-wordpress:mysql -v /root/wordpress-html:/var/www/html wordpress 然后访问网站 见证奇迹的时刻 网站可以正常访问,数据也没有丢失 怎么备份网站? 从上面我们就可以总结出备份网站的步骤了,首先保存两个执行容器的命令到一个文本文件,接着把mysql-data和wordpress-html打包备份就好了,容器的启动时间只要几秒钟,所以如果你要做一个安全的网站架构你可以这么做,把上面我说的两个目录保存在存储中,容器运行在服务器上,或者使用k8s去管理容器,当然存储也是需要做备份的,这样只要就可以保证服务的超级可靠性了。
原文链接:http://www.5ityx.com/cate102/281402.html