获取wordpress镜像

wordpress的版本看Dockerhub上的示例
image.png
执行

  1. docker pull wordpress:5.5

创建mysql容器

因为wordpress需要配置数据库,所以先拉取mysql的镜像

  1. docker pull mysql

创建mysql容器并运行,指定数据库密码是123456

  1. docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -d mysql

—name:指定容器的名称 -e:指定环境变量

创建wordpress容器

然后创建并运行新的wordpress容器(名称为wp-demo),连接数据库(mysql),

  1. docker run --name wp-demo --link mysql_db:mysql -p 8080:80 -d wordpress:5.5

—link:用来链接容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以互相通信,并且接收容器可以获取源容器的一些数据 -p:指定端口映射,格式为:主机(宿主)端口:容器端口 -d:后台运行容器,并返回容器ID

查看wp-demo内的主题文件

  1. docker exec -it wp-demo /bin/sh

image.png
或者直接在浏览器上输入 http://127.0.0.1:8080/开始安装wordpress

新增主题

方法一 平台直接添加新主题

选择按钮“Add New”,上传我们自己的主题
image.png
如果出现文件上传失败的提示:

The link you followed has expired.

说明wordpress限制了文件大小,用下面的方法查看文件限制的大小,如图所示
image.png

文件上传的解决办法

方法一 安装插件

  • 安装插件 File Manager

image.png

  • 修改配置文件

image.png

  • 添加下面几行代码
    1. php_value upload_max_filesize 64M
    2. php_value post_max_size 64M
    3. php_value max_execution_time 300
    4. php_value max_input_time 300
    示例如下
    image.png

    方法二 服务器修改文件

    直接在服务器里更改 .htaccess文件的内容

现在就可以安心地上传我们自己的主题包了。

方法二 复制主题文件到容器中

  • 新建文件夹wordpress-docker,把主题包放进去

示例
image.png

  • 查看运行中的wordpress5.5版本的容器,获取它的CONTAINER ID

    1. docker container ls

    示例
    image.png

  • 查看主题包的位置

    1. pwd

    示例
    image.png

  • 查看容器位置

    1. docker exec -it wp-demo /bin/sh
    2. pwd
  • 执行docker cp [文件名] [CONTAINER ID]:[容器名]

    1. docker cp /Users/skywen_cp/Documents/demo/wordpress-docker/skywen-theme f4e4ea3c21c1:/var/www/html/wp-content/themes
  • 查看wordpress内主题是否存在

    1. docker exec -it wp-demo /bin/sh
    2. cd wp-contents/themes
    3. ls

    示例
    image.png

  • 先看再看网站里面的主题,有两个相同的主题了

image.png

发布到自己的仓库

  1. docker login
  2. docker tag wordpress:5.5 [username]/wordpress:5.5