通过Docker部署运行MariaDB数据库
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/keyringscurl -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 version 2(WSL 2)作为后端。使用以下步骤安装Docker。
首先,在您的Windows系统上启用虚拟机平台功能。这使您能够安装WSL 2,并在Windows机器上安装和运行虚拟化的Linux实例。
接下来,安装WSL。
然后,访问微软商店,下载Ubuntu 20.04。
最后,下载Docker桌面Windows版。打开下载的文件并开始安装过程。
安装后,从任务栏中搜索“Docker桌面”并打开它。
(注意:您需要使用PowerShell作为您的终端来使用Docker命令。)
macOS X
Docker可以通过苹果App Store在macOS机器上使用。有两种安装程序可用于英特尔和苹果芯片。
首先,从上面的链接之一下载相应的安装程序。然后,双击打开下载的。dmg文件。
接下来,将Docker图标拖放到应用程序文件夹中。
现在,从应用程序文件夹中打开Docker应用程序,按照提示完成配置。
安装过程完成后,双击桌面状态栏中的Docker图标将其打开。
使用默认终端运行Docker命令。
2.下载MariaDB图像
Docker Mirror提供了一组命令和配置来创建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的root密码、数据库用户和相关密码。然后它在端口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” < /some/path/on/your/host/all-databases.sql'
Dockexec命令允许开发人员在容器中运行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主机可以满足你的要求。