如何使用ubuntu 16.04使用Docker设置WordPress
本文介绍了如何使用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版本将列在此页面中。