基于Docker快速搭建wordpress博客

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

docker pull mysql:5.7
docker pull wordpress:latest

  启动mysql数据库服务

docker run --name mysql-db -p 3306:3306 -v /data/mysql:/var/lib/mysql -d -e MYSQL_ROOT_PASSWORD=root mysql:5.7

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

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                  NAMES
95808c37fea6        mysql:5.7                       "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp      mysql-db

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

docker exec mysql-db sh -c ‘exec mysqldump --databases wordpress -uroot -p"$MYSQL_ROOT_PASSWORD"‘ > wordpress.sql

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

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

  在/data/wordpress/wp-content目录下修改文件内容,可以马上在服务中体现,非常方便,--link 表示关联了mysql-db容器,那么在my-wordpress容器中可以通过db直接访问mysql-db,可以进入my-wordpress容器查看--link增加了hosts记录。

[root@izj6c data]# docker exec -it 46cc10552a12 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.3      db 2ea59b2d6344 mysql-db
172.17.0.4      46cc10552a12

  -p指定了容器的端口映射,当前wordpress的服务通过当前机器的80端口即可访问。

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                               NAMES
46cc10552a12        wordpress                       "docker-entrypoint.s…"   4 seconds ago       Up 3 seconds        0.0.0.0:80->80/tcp                  my-wordpress

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

选择简体中文,然后下一步,填写数据库配置。

数据库主机直接写db,不再用写ip了,因为在启动wordpress容器的时候,我们使用了--link 参数,这就是docker --link方便。填写配置之后,提交,这时出现下面这个错误。

这是因为我们还没有在mysql中创建数据库,进入容器中手动创建wordpress数据库。
[root@izj6c2 ~]# docker exec -it 2ea59b2d6344 sh
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.23 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> create database wordpress default character set utf8;
Query OK, 1 row affected (0.00 sec)

  数据库创建成功之后,则在wordpress页面重新提交数据库配置,跟着下一步执行,即可创建完成博客系统了。

可能产生的问题

1、外部无法连接mysql数据库

方法:利用docker exec命令进入mysql容器内部,执行

USE mysql;
ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘你的密码‘;
FLUSH PRIVILEGES;

2、目录无权限问题

因为这个wp-content目录是mount到容器内部的,即使在宿主机上chmod 777 content/*,
可能还是无法上传图片或者文件,执行以下操作即可。
docker exec -it containerId sh
chown -R www-data:www-data wp-content/*

  

原文地址:https://www.cnblogs.com/kingfsen/p/10424940.html

时间: 2024-11-06 07:17:51

基于Docker快速搭建wordpress博客的相关文章

用docker快速搭建wordpress博客

WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统.在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站. 在Windows上可以非常方便的安装WordPress,因为IIS上集成了WordPress的一键安装包.而在Linux上安装WordPress就比较复杂了,我们需要配置PHP环境.Apache或者Nginx服务器.MySQL数据库以及各种权限和访问问题.所以在Linux上最好的办法就是使用Docker来安装WordPre

巨杉Tech | 十分钟快速搭建 Wordpress 博客系统

介绍很多互联网应用程序开发人员第一个接触到的网站项目就是博客系统.而全球使用最广的Wordpress常常被用户用来快速搭建个人博客网站.默认情况下,Wordpress一般在后台使用MySQL关系型数据库存储所有的博文及回复.本文将展示如何使用 SequoiaDB 巨杉分布式数据库替换MySQL,成为Wordpress博客系统的后台关系型数据库. 通过阅读本文,用户可以了解到如何使用SequoiaDB巨杉数据库的MySQL实例无缝替换标准MySQL数据库.SequoiaDB巨杉数据库允许用户在不更

快速搭建WordPress博客

博主在看了朋友的博客后 决定也搭建一个wordPress 博客 思路 1.购买服务器 2.Cenots环境配置 3.安装wordpress 工具 推荐使用 Xshell 6,当然也可以用其他 服务器推荐 腾讯云学生套餐(24岁以下免学生验证,10块一个月): https://cloud.tencent.com/act/campus 华为云学生套餐(24岁以下免学生验证,9块一个月): https://developer.huaweicloud.com/campus ps: 需要注意一下:以上学生

在httpd-2.2和http-2.4中分别搭建wordpress博客系统和Discuz!论坛系统

一. 在这里我使用的是centos6.7和centos7.2进行操作.在搭建之前,需要事先搭建LAMP环境. 所谓LAMP环境,指的是linux.apache(httpd).mysql.php 完成之后,开启httpd和mysql服务. 之后在/var/www/html目录下创建index.php文件.测试php 二.搭建wordpress博客系统 1.下载.解压,将wp-config-sample.php复制到wp-config.php,并修改该文中的数据库名称,用户名,用户密码以及当前虚拟主

CentOS 7中的httpd-2.4和CentOS 6中的httpd-2.2搭建wordpress博客系统和Discuz!论坛系统

在搭建wordpress博客系统和Discuz!论坛系统之前,我们需要在Centos中准备好LAMP环境. 现在以Centos 6为例演示其过程. LAMP环境=linux+apche+mysql+php 在安装好的Centos 6.7中使用yun安装apche+mysql+php,在命令行中输入以下命令: ~]# yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-post

DigitalOcean上使用Tornado+MongoDB+Nginx+Supervisor+DnsPod快速搭建个人博客

DigitalOcean 之前买了个便宜的VPS并且在上面搭建了我自己写的博客程序,后来VPS里运行MongoDB经常自己挂掉就索性没理了.直到现在VPS已经过期,服务器被强制关掉了.周末在家索性想着把这个博客程序重新搭建起来. 选择Linode还是云主机(阿里云等等)?阿里云貌似有些贵,而且还有一堆备案的流程.Linode最近推出SSD服务,20刀/月的价格,加量不加价,很是吸引人.但无奈还是花的有些心疼.忽然另外一个VPS服务DigitalOcean(链接含refcode喔)被我无意发现.D

centos7.3编译安装LAMP环境并搭建WordPress博客

centos7.3编译安装LAMP环境并搭建WordPress博客 日期:2017年8月6日 软件版本: apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 httpd-2.4.27.tar.bz2 mariadb-10.2.7-linux-x86_64.tar.gz php-7.1.7.tar.bz2 wordpress-4.8-zh_CN.tar.gz xcache-3.2.0.tar.gz 1.编译安装apache2.4 yum groupinstall de

烂泥:使用nginx利用虚拟主机搭建WordPress博客

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近开始打算学习nginx web服务器,既然是学习还是以实用为目的的.我们在此以搭建WordPress博客为例. 搭建WordPress博客,我们需要Mysql数据库.PHP环境和Nginx Web服务器.主要分为以下四个步骤: 1.Mysql数据库安装及配置 2.PHP.PHP-FPM及与PHP相关组件的安装及配置 3.Nginx Web服务器搭建与配置 4.wordpress安装 注意:本次实验,除了nginx使用源码安装外,其他的软件全部使

Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建wordpress博客教程

Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程 一.环境说明: 操作系统:Windows Server2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: http://windows.php.net/downloads/releases/php-5.5.8-nts-Win32-VC11-x86.zip 2.MySQL下载地址: http://cdn.mysql.com/Down