如何在Ubuntu上使用Docker安装WordPress

在本教程中,我们将使用多个docker容器来安装WordPress。 Wordpress本身在一个容器和另一个容器中的MariaDB数据库。 然后我们将在主机上安装Nginx作为WordPress容器的反向代理。

Docker是一个开源项目,使开发人员和sysadmin更容易在Docker容器内创建,部署和运行分布式应用程序。 Docker是一个操作系统级虚拟化,您可以为应用程序创建与Docker一起运行的应用程序的系统隔离。 您可以在服务器内创建数百个码头容器,数量取决于您的机器硬件。

 

前提条件

  • Ubuntu 15.04 - x86_64
  • 根权限
  • 码头知识

 

第1步 - 安装Docker

在此步骤中,我们将更新Ubuntu存储库,然后安装最新版本的docker.io。

成为root用户的下一步:

sudo -s

更新Ubuntu存储库:

apt-get update

现在使用apt命令安装Docker软件包:

apt-get install docker.io

安装完成后,启动docker并将其添加到系统启动时使用systemctl命令运行:

systemctl start docker
systemctl enable docker

接下来,使用docker命令检查Docker版本:

docker version
docker run hello-world

Docker安装完成。

 

第2步 - 设置MariaDB容器

在此步骤中,我们将从docker注册表下载一个新的MariaDB映像,并根据该映像创建一个新的容器。 我们将为WordPress安装配置一个新的数据库和用户。

使用Docker pull命令将Docker MariaDB映像下载到系统:

docker pull mariadb

现在,您可以使用以下命令查看新的Docker MariaDB映像:

docker images

接下来,从WordPress安装的MariaDB映像创建一个新的容器。 在创建新容器之前,为WordPress数据,数据库目录和WordPress代码目录创建一个新的目录。

mkdir ~/wordpress
mkdir -p ~/wordpress/database
mkdir -p ~/wordpress/html

现在使用以下命令创建名为“wordpressdb”的新的MariaDB容器:

docker run -e MYSQL_ROOT_PASSWORD=aqwe123 -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=wpuser@ -e MYSQL_DATABASE=wordpress_db -v /root/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb

如果没有错误,您可以看到以下结果:

参数说明:

  • MYSQL_ROOT_PASSWORD =配置MySQL root用户的密码。
  • MYSQL_USER =为WordPress数据库创建一个新的MySQL用户'wpuser'。
  • MYSQL_PASSWORD =为用户'wpuser'设置密码'wpuser @'。
  • MYSQL_DATABASE =为名称为“wordpress_db”的wordpress安装创建一个新数据库。
  • -v / root / wordpress / database:/ varlib / mysql =链接的数据库目录到容器上的mysql目录'/ var / lib / mysql',以确保数据持久性。

已经创建了MariaDBriadb容器,现在检查新用户和数据库的WordPress安装,以确保顶部没有错误的命令。

从主机,请使用docker命令检查wordpressdb容器的IP地址:

docker inspect -f '{{ .NetworkSettings.IPAddress }}' wordpressdb

接下来,使用主机系统的mysql命令连接到wordpressdb容器:

mysql -u wpuser -h 172.17.0.2 -p
TYPE PASSWORD: wpuser@

检查新数据库'wordpress_db':

show databases;

所有结果:

新的Docker容器,MySQL用户和WordPress的MySQL数据库已经成功创建。

 

第3步 - 设置Wordpress容器

创建数据库容器后,使用docker pull命令下载最新的WordPress Docker映像:

docker pull wordpress:latest

当下载完成后,从名称为“wpcontainer”的图像创建一个新的容器。

docker run -e WORDPRESS_DB_USER=wpuser -e WORDPRESS_DB_PASSWORD=wpuser@ -e WORDPRESS_DB_NAME=wordpress_db -p 8081:80 -v /root/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress

您可以获得如下结果,或者您可以检查名为“wpcontainer”的新容器是否已创建。

参数:

  • WORDPRESS_DB_USER =为wordpress数据库定义数据库用户'wpuser'。
  • WORDPRESS_DB_PASSWORD =密码'wpuser @'为数据库用户'wpuser'。
  • WORDPRESS_DB_NAME =在第2步创建的数据库“wordpress_db”的名称。
  • -p 8081:80 =将容器上的端口80映射到主机端口8081。
  • -v / root / wordpress / html:/ var / www / html =将容器上的web根目录'/ var / www / html'链接到本地​​主机目录'wordpress / html'。
  • --link wordpressdb:mysql =将mariadb容器'wordpressdb'链接到新的连续wordpress'wpcontainer'。

要查看WordPress容器运行,您可以使用主机IP和端口8081上的curl命令检查它。

curl -I 192.168.43.99:8081

你会看到结果:

  • Web服务器是Apache,在Debian上运行。
  • PHP 5.6正在容器中运行。
  • 您会看到重定向到WordPresss安装。

 

第4步 - 安装和配置Nginx作为反向代理

在此步骤中,我们将在主机系统上安装Nginx Web服务器。 我们将在端口8081上配置Nginx作为Docker容器'wpcontainer'的反向代理。

在主机系统上使用apt命令安装Nginx:

apt-get install nginx

接下来,转到Nginx目录并为WordPress容器创建一个新的虚拟主机配置。

cd /etc/nginx/sites-available/
vim wordpress

粘贴虚拟主机配置如下:

server {
  listen 80;
  server_name wordpress-docker.co www.wordpress-docker.co;

  location / {
    proxy_pass http://localhost:8081;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

保存文件并退出。

现在,激活新的WordPress虚拟主机并删除默认的虚拟主机配置。

ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-available/default
rm -f /etc/nginx/sites-enabled/default

重新启动Nginx Web服务器:

systemctl restart nginx

 

第5步 - WordPress安装

打开您的网络浏览器并访问nginx配置“www.wordpress-docker.co”上的域名,您将被重定向到WordPress安装。

输入您的网站标题,管理员用户名和密码,然后单击安装WordPress。

现在点击“登录Wordpress”并填写您上面选择的用户名和密码,您将看到WordPress仪表板。

或者您可以在下面看到WordPress主页:

具有MariaDB容器和WordPress容器的WordPress安装已成功。

 

参考

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏