如何使用ubuntu 16.04使用Docker设置WordPress

时间:2020-03-05 15:31:16  来源:igfitidea点击:

本文介绍了如何使用Docker-Compose快速使用Docker设置WordPress。
WordPress需要灯或者LEMP堆栈,但官方WordPress Docker Image包含PHP和Apache,让我们仅安装MySQL Docker镜像。
但是要通过Web界面管理MySQL,我们还将安装PHPMyAdmin Docker Image。
Docker Compose可以轻松处理Docker内流程的协调。
因此,在开始之前,请确保我们在主机中安装了最新版本的Docker Compose。

1.与Docker的WordPress准备工作

我们必须在主机中使用Docker和Docker撰写。
我们将使用Docker Compose版本的2',因此我们可能需要更新主机中的Docker撰写。
我们可以从官方Github页面更新Docker撰写。

更新撰写后,在主机中查找Docker的版本并在主机中撰写。

root@demohost:~# docker -v
Docker version 1.12.3, build 6b644ec
root@demohost:~# docker-compose -version
docker-compose version 1.10.0, build 4bd6f1a

2.安装mysql.

我们将首先定义一个项目目录,其中所有资源都将通过撰写来构建我们的图像。
因此,首先,我们还将创建Docker撰写。
yml在我们的项目目录中。

root@demohost:~# mkdir docker_wp
root@demohost:~# cd docker_wp

创建/编辑Docker撰写。
yml以卷载于数据持久性创建MySQL实例。
我们还通过关键"返回"指定了我们的顶级网络。
服务级别(WordPress,PHPMyAdmin)网络将指定此"键"以连接到顶级网络。

root @ demohost:~/docker_wpvi docker-compose。
yml.

version: '2'
services:
database:
image: mysql:5.7.17
restart: always
volumes:
- database_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
networks:
- back
networks:
back:
volumes:
database_data:

现在使用Docker-Compose启动容器

root@demohost:~/docker_wp# docker-compose up -d
Creating network "dockerwp_back" with the default driver
Creating volume "dockerwp_db_data" with default driver
Pulling database (mysql:5.7.17)...
5.7.17: Pulling from library/mysql
-------------------------
-------------------------
a1b9627588c7: Pull complete
Digest: sha256:5e2ec5964847dd78c83410f228325a462a3bfd796b6133b2bdd590b71721fea6
Status: Downloaded newer image for mysql:5.7.17
Creating dockerwp_database_1

列出容器

root@demohost:~/docker_wp# docker ps -a

3.安装phpmyadmin.

要在容器中安装PHPMyAdmin,我们将在Docker-Compose中添加以下代码片段。
yml在服务部分下。

phpmyadmin:
depends_on:
- database
image: phpmyadmin/phpmyadmin
restart: always
ports:
- 8080:80
environment:
PMA_HOST: database
MYSQL_ROOT_PASSWORD: root
networks:
- back

PHPMyAdmin服务取决于我们在Docker Compose文件中定义的"数据库"服务。
Docker Compose将抓住官方PHPMyAdmin,PORT NO 8080的Docker主机将被映射到容器端口80。
环境变量PMA_HOST定义了MySQL Server和MySQL_Root_Password的地址/主机名,指定MySQL Server的root密码,它必须与在"数据库"服务下设置的mysql_root_password值相同。

再次启动应用程序组。

root@demohost:~/docker_wp# docker-compose up -d
Pulling phpmyadmin (phpmyadmin/phpmyadmin:latest)...
latest: Pulling from phpmyadmin/phpmyadmin
0a8490d0dfd3: Pull complete
----------------------------
98ff89f652db: Pull complete
Digest: sha256:942030a8ef4e2ab49ae5d9a60a27c94eed4e9003cd2bd01a62c501b92fdabfda
Status: Downloaded newer image for phpmyadmin/phpmyadmin:latest
dockerwp_database_1 is up-to-date
Creating dockerwp_phpmyadmin_1

列出容器

root@demohost:~/docker_wp# docker ps -a

打开我们喜欢的浏览器并将其指向http://docker_host_ip:8080,我们将由phpmyadmin登录页面打击。
用root用户root和密码登录。
如果我们已将MySQL_ROOT_PASSWORD环境值设置为其他内容,则使用该密码登录。

4.使用Docker安装WordPress

最后,我们将通过在"服务"部分下的代码片段进行以下配置,设置WordPress Docker容器。

wordpress:
depends_on:
- database
image: wordpress:4.6
restart: always
volumes:
- ./wp-content:/var/www/html/wp-content
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_PASSWORD: root
ports:
- 80:80
- 443:443
networks:
- back

WordPress服务取决于"数据库"服务,Docker撰写将与Docker版本4中提取WordPress 4. 6我们已经选择了第4版4.6故意使我们可以在最终步骤中更新WordPress。
将环境变量WordPress_DB_HOST设置为MySQL主机名,后跟端口NO,WordPress_DB_Password设置为"root",我们在"数据库"部分下已分配在MySQL_Root_Password中。
Docker主机的端口NO 80和443映射到容器端口NO 80和443. WordPress Docker容器也连接到顶级网络"后"。

我们的最终Docker组成。
YML看起来如下。

接下来,将所有三个应用程序一起启动。

root@demohost:~/docker_wp# docker-compose up -d
Pulling wordpress (wordpress:4.7.2)...
4.7.2: Pulling from library/wordpress
5040bd298390: Already exists
568dce68541a: Pull complete
----------------------------
Digest: sha256:a0ce5d2666bff9fe17fd8d5c6b5ba3094b7109e97af8c69a0c31057a77e24899
Status: Downloaded newer image for wordpress:4.7.2
dockerwp_database_1 is up-to-date
dockerwp_phpmyadmin_1 is up-to-date
Creating dockerwp_wordpress_1

列出容器。

root@demohost:~/docker_wp# docker ps -a

通过指向http://docker_host_ip浏览器访问WordPress站点我们将提示我们选择一种语言。

提供标题,用户名,密码,电子邮件,然后单击"安装WordPress"

通过键入最后一步中提供的用户名/电子邮件地址和密码来登录WordPress站点。

我们将被重定向到WordPress Dashboard。

单击左侧菜单列中的插件。
我们将找到"Akismet"名称和"Hello Dolly"的两个插件

通过更改为WordPress项目的WP-Content/Plugins目录来删除"Hello Dolly"插件

root@demohost:~/docker_wp# cd wp-content/plugins/
root@demohost:~/docker_wp/wp-content/plugins# ls
akismet  hello.php  index.php
root@demohost:~/docker_wp/wp-content/plugins# rm hello.php

刷新页面,现在不会列出你好多莉。
点击从左侧列的"外观"下的"主题"。
默认主题将列在此页面中。

由于我们想放置我们选择的主题,因此导航到WP-Content/Themes目录并删除主题。

root@demohost:~/docker_wp# cd wp-content/themes/
root@demohost:~/docker_wp/wp-content/themes# ls
index.php  twentyfifteen  twentyseventeen  twentysixteen
root@demohost:~/docker_wp/wp-content/themes# rm -rf twenty*

下载我们选择的主题。
我们将下载主题https://wordpress。
org/themes/nisarg /解压缩主题并删除zip文件。

root@demohost:~/docker_wp/wp-content/themes# wget https://downloads.wordpress.org/theme/nisarg.1.2.6.zip
root@demohost:~/docker_wp/wp-content/themes# unzip nisarg.1.2.6.zip
root@demohost:~/docker_wp/wp-content/themes# rm -rf nisarg.1.2.6.zip

现在刷新主题页面,下载的主题将在那里列出。
单击"激活"激活主题

由于我们已安装WordPress版本4. 6,系统将提示我们更新WordPress。
在此阶段,不要点击"请立即更新"。
我们需要更改Docker-Compose中WordPress的版本。
yml。
编辑Docker-Compose并将WordPress版本从4. 6到4. 7. 2

wordpress:
depends_on:
- database
image: wordpress:4.7.2
-----------------------
-----------------------

停止/重新启动WordPress容器

root@demohost:~# docker stop dockerwp_wordpress_1
root@demohost:~# docker rm dockerwp_wordpress_1
root@demohost:~# docker-compose up -d

现在点击"立即请更新"

点击"立即更新"

WordPress更新过程将对我们可见。

要检查WordPress的版本,请单击"更新"。
WordPress版本将列在此页面中。