MariaDB是一个免费的数据库服务器,使用结构化查询语言(SQL)提供数据访问。它提供了密码、基于角色的访问控制等安全功能来保护你的数据。
为了部署MariaDB并向用户授予数据访问权,你需要托管数据库服务器。你可以选择云供应商或使用托管或共享主机服务。
本文将教你如何使用Docker容器运行MariaDB,配置和运行数据库服务器,并将其连接到WordPress网站。
- 什么是Docker?
- 如何使用Docker部署MariaDB
- 在你的WordPress网站上添加一个新的文章
- 通过DevKinsta管理MariaDB和Docker
什么是Docker?
Docker是一个免费的开发工具,使你能够在一个称为容器的受控环境中运行应用程序。容器有应用程序代码、依赖性和运行应用程序的关键系统工具。这使你能够在整个软件开发生命周期内提供强大的应用程序。
通常情况下,容器使用你的操作系统作为主机。这意味着主机的内核提供对CPU、内存和文件系统等资源的访问。因此,这不需要像虚拟机那样的传统虚拟化。使用Docker来运行MariaDB实例有几个优点。
- 它的数字足迹小,保证了系统资源的有效利用。
- 它是一致的,允许开发人员在生产和测试部署中运行应用程序,只需最小的变化。
- 它为资源共享提供了一个灵活的机制。
- 它是可扩展的–你可以在一台主机上运行许多容器。
如何使用Docker部署MariaDB
在本节中,你将使用Docker创建容器化环境来运行MariaDB。你将了解到Docker所提供的容器技术。Docker可以在大多数版本的Windows、macOS和Linux发行版上运行。在本教程中,你需要有Windows 10/11、Ubuntu 20.04或macOS X机器来跟随。
1. 安装Docker
Docker的最大特点之一是它的可移植性。它使用主机的操作系统,使其成为测试和发布环境的理想选择。本节将教你如何在三个操作系统上安装Docker。
Ubuntu 20.04
首先,更新Ubuntu的软件包列表。
sudo apt-get update
然后,允许通过HTTPS访问在线存储库。
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
接下来,添加Docker的GPG密钥
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
现在,添加Docker的存储库。
echo deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
然后,更新Ubuntu的软件包以包括Docker的仓库。
sudo apt-get update
最后,安装Docker引擎。
sudo apt-get install docker-ce
如果你使用的是不同的Linux发行版,如Debian或Fedora,请遵循在Linux中安装Docker的官方文档。
Windows 10/11
Docker可以在Windows 10或11上使用Windows Subsystem for Linux版本2(WSL 2)作为后端。使用以下步骤来安装Docker。
首先,在你的Windows系统上启用虚拟机平台功能。这使你能够安装WSL 2,并在你的Windows机器上安装和运行一个虚拟化的Linux实例。
接下来,安装WSL。
然后,访问微软商店,下载Ubuntu 20.04。
最后,下载Docker Desktop for Windows。打开下载的文件,启动安装过程。
安装完成后,从你的任务栏中搜索 “Docker Desktop “并打开它。
(注意:你需要使用PowerShell作为你的终端来使用Docker命令。)
macOS X
Docker可以通过苹果应用商店在macOS机器上使用。有两种针对英特尔和苹果芯片的安装程序可用。
首先,从上面的一个链接中下载相应的安装程序。然后,双击以打开下载的.dmg文件。
接下来,将Docker图标拖放到应用程序文件夹中。
现在,从应用程序文件夹中打开Docker应用程序,按照提示完成配置。
一旦安装过程完成,双击桌面状态栏中的Docker图标,即可打开它。
使用默认的终端来运行Docker命令。
2. 下载MariaDB镜像
Docker镜像提供了一个命令和配置的集合,以创建一个Docker容器。它负责安装运行一个应用程序所需的一切。你可以从Docker Hub找到MariaDB的官方镜像。
要从Docker Hub下载MariaDB的镜像,你需要使用 docker pull
命令。
docker pull mariadb
你也可以通过运行以下内容查看已下载的Docker镜像的列表。
docker images
这是命令的输出。
列出Docker镜像
3. 创建一个容器
容器是一个软件单元,具有运行一个进程或程序所需的所有代码、依赖性和系统工具。你将使用之前下载的镜像来创建一个MariaDB容器。
docker create mariadb --name mariadb-wp -i –t
这将创建一个名为 mariadb-wp
的MariaDB容器。–i
标志允许一个交互式会话,而–t
选项则创建一个伪终端。官方文档提供了关于所有可用变量的信息。
4. 运行、暂停和停止容器
Docker为开发者提供了可配置环境的灵活性。在本节中,我们将用环境变量来配置MariaDB的容器,为你的容器设置特定的系统属性。
MariaDB有很多变量可以设置,比如数据库名称、密码和数据库用户。关于支持的环境变量的更广泛的列表,请参考Docker的MariaDB的文档。
docker run -d --name mariadb-wp -p 3306:3306 -v '/path/on/host/:/var/lib/mysql' -e "MARIADB_ROOT_PASSWORD=" -e "MARIADB_DATABASE=wordpress" -e "MARIADB_USER=wordpress" -e "MARIADB_PASSWORD=" mariadb
上面的命令配置了MariaDB的根密码、数据库用户和相关密码。然后它在3306端口运行MariaDB。你可以决定用下面的命令来暂停一个容器的应用程序的运行。
docker pause mariadb-wp
最后,你也可以用下面的命令来停止在容器内运行的应用程序。
docker stop mariadb-wp
5. 将容器化的MariaDB连接到一个WordPress网站上
现在,我们需要将MariaDB连接到一个外部的WordPress网站。你可以在这里了解更多关于在本地创建一个WordPress网站的信息。
在WordPress网站的根目录下,在你的代码编辑器中打开wp-config.php文件。找到为数据库定义变量的代码部分,并编辑它,如下图所示。确保你在创建MariaDB容器时使用数据库名称、密码和端口号。
define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress’); define('DB_PASSWORD', ''); define('DB_HOST', 'http://localhost:3306’);
接下来,你需要将你的WordPress网站的数据库转储导入到容器化的MariaDB中。首先,确保你已经导出了网站的当前数据库。要了解更多,请查看我们的MySQL数据库备份教程。
导出数据库后,在容器内安装数据库转储。
docker exec -i mariadb-wp sh -c 'exec mysql -u root -p "$MARIADB_ROOT_PASSWORD"
docker exec
命令允许开发者在容器内运行shell命令。我们在上面的命令中使用导出的文件将一个数据库导入MariaDB。在你的WordPress网站上添加一个新的文章
我们将使用WordPress管理账户创建一个样本文章来测试这个集成。
首先,登录WordPress,点击文章>写文章。如下面所示,填写细节,然后点击发布。创建文章后,点击查看文章,查看新添加的文章。
在WordPress编辑器中添加一个新的文章
这就是它的全部内容!
通过DevKinsta管理MariaDB和Docker
Kinsta的免费应用程序DevKinsta使开发者能够有效地创建容器化的WordPress网站。该应用使用Docker来配置PHP版本、数据库服务器和Web服务器。DevKinsta应用支持使用macOS、Windows和Ubuntu/Linux的开发者。
要开始使用,请在你的本地机器上下载、安装并启动DevKinsta。该应用程序为你提供三个选项:创建一个新的WordPress网站,从Kinsta导入一个现有的网站,或创建一个自定义网站。
使用DevKinsta创建新网站
创建一个新的WordPress网站就像填写一个简单的表格并点击创建网站一样容易。
DevKinsta的新WordPress网站创建界面
恭喜你 – 你现在已经使用DevKinsta创建了一个容器化的WordPress网站。
小结
Docker是一个对开发者友好的工具,用于将运行MariaDB等数据库服务器的软件容器化。它的最小化环境有助于保持系统资源的效率而不牺牲功能。
本教程教你如何安装Docker,设置MariaDB,并将WordPress网站与容器化的MariaDB数据库相连。另外,你还学会了如何使用DevKinsta来创建一个完全容器化的WordPress网站。
对于WordPress网站的创建及其众多的托管解决方案,还有很多东西可以探索。如果你想发现你的网站管理可以如此简单,Kinsta的管理型WordPress主机可以满足你的要求。