什么是Docker
Docker是一个用来创建所谓的容器的工具,是的,你可以想象它就像一艘货船上的集装箱(因此该公司的标志/吉祥物是莫比)。容器本身就像运行特定软件包的小型虚拟机,该软件包由称为映像的东西定义。该映像准确地告诉Docker小型虚拟机需要什么和做什么,Docker创建一个运行该虚拟机的纯软件版本在你的主机但是仍然完全地与您的机器分开。你可以认为它是网络上的一个单独的节点,只有主机能可以接触到。(表示惊奇、震惊等)能拥有访问权限,因为如果您希望能够与容器进行通信,您将需要设置一个网络,但我们将在稍后讨论这个问题。
可以用什么数据库?
出于本文的考虑,我们将使用MariaDB作为我们的数据库示例,但是您可以将我们将涉及的大部分理论应用于您选择的任何数据库。我是一个倾向于后端全栈的开发人员,所以我个人最喜欢的是关系SQL而不是NoSQL,尽管MySQL是行业标准,但我个人更喜欢尽可能使用MariaDB,因为它是开源的,我会选择开源而不是公司。
无论您选择什么样的数据库,都会有一个图像供您从设置步骤的地方提取和工作;
非常类似于我们将在这里看到的
当你阅读必要的文件时,任何差异都会很明显,因为我们都是RTFM,对吗?…
MariaDB容器是如何工作的?
就像我们之前看到的那样,MariaDB容器就像网络上的一台独立计算机,运行您在向Docker提供您想要的图像时指定的MariaDB版本。《如果你》看一下标签的官方文档,你会看到网页和网页的不同版本,可满足任何需要可以想象的。
官方文档也给出了关于建立一个基本实例的很好的和清晰的指导,但是我记得我第一次阅读它们并遵循它们的时候,我并不确切地知道我在做什么或者为什么它会工作。我的目标是让下面的一切都清楚!
如何从终端设置它
首先,我们将跳过docker的安装过程你可以在这里找到帮助如果你还没有这样做。
现在,我们将查看文档提供的基本命令,并分解每个部分的功能。
docker run --detach --name mariadb-container --env MARIADB_USER=mizouzie --env MARIADB_PASSWORD=mizouzie_loves_mariadb --env MARIADB_ROOT_PASSWORD=root -p 3306 -v mariadb-volume mariadb:latest
命令/选项 说明
码头工人 告诉docker我们在和它说话,就像喊‘嘿!’
奔跑 我们希望接下来的事情由docker来处理
-分离 标记为“请在后台执行此操作,不要占用终端”(简短版本为-d)
-名字 该标志后面的字符串将被指定为容器名
-环境 下面的字符串应该作为环境变量添加,方便密码等(简短版本是-e)
-p 指定要向主机公开的端口
-v 创建并指定该容器的卷名
mariadb:最新 您希望docker提取的图像的名称和版本
一些需要注意的事项
使用您自己的所有详细信息运行这个命令后,docker将首先检查您指定的本地映像。如果它没有找到已经下载的,那么它将pull来自的图像码头枢纽并使用它来构建容器,其中包含所有给定的参数,如环境变量和名称。
容器现在将运行,并且不会停止,直到您告诉它停止,这可以