如何在Docker中部署MySQL数据库?
副问题[/!--empirenews.page--]
Docker为陈设和测试应用措施和数据库提供了很多上风,这些应用措施和数据库是应用措施不行或缺的一部门,因此很值得进修如安在Docker容器中陈设和运行数据库。 本文中,我们会重点存眷如下重点: 为MySQL Docker容器建设Docker Compose YAML文件。 行使各类要领毗连到在容器上运行的MySQL数据库。 在Docker容器中建设并运行多个MySQL版本。 接下来,我们会一一先容这些。 1.为MySQL Docker容器建设Docker Compose YAML文件 起首,我们建设一个目次——db-docker,然后在这个目次中建设一个文件——docker-compose.yml。
根基上,在这里,我们将指定我们将要行使的处事并配置与这些处事相干的情形变量。 我们将在本文中多次变动此文件。 在我们方才建设的docker-compose.yml文件中添加以下内容:
我们将MySQL容器的名称指定为mysql-development,要行使的Docker镜像是mysql:8.0.17。 假如不将tag指定为8.0.17,则将回收最新的tag。 接下来我们必要指定的是情形变量,即用户,暗码和数据库。 假如您未指定用户,则默认环境下它将为root。 我们将行使helloworld作为暗码,行使testapp作为数据库。 另一个重要的是端口映射。 3308:3306暗示在端口3306的容器中运行的MySQL映射到端口3308的主机的当田主机。您也可以行使差异的端口。 此刻,在建设.yml文件之后,我们必要在.yml文件地址的统一目次中运行以下呼吁:
这将拉取Docker镜像(假如镜像在当地不存在,它将从Docker Hub拉出)然后运行容器。 我们可以通过如下呼吁查察状态:
![]() 这将表现容器的名称,呼吁和容器的状态,譬喻,它表现容器正在运行。 它还表现了端口映射。 在下一步中,我们将毗连到此MySQL容器并运行一些呼吁。 2.毗连到Container中运行的MySQL数据库 我们将接头在Docker容器中运行的MySQL上毗连和运行SQL呼吁的两种要领。 第一种要领是行使像MySQL Workbench这样的器材(也可以行使DataGrip)。 此刻我们得MySQL容器映射到宿主机得端口为3308,我们可以行使如下设置参数毗连: ![]() 因为端口映射,只能通过宿主机的端口3308举办毗连。 假如我们想毗连到容器化的MySQL,不通过映射端口,即来自在统一个Docker收集上运行的另一个应用措施,我们必需行使像Adminer这样的器材,这是我们的另一种要领。 Adminer是一个基于PHP的Web应用措施,用于会见数据库。 此刻,我们将在docker-compose.yml文件中添加另一项处事——Adminer。 可是,在我们举办变动之前,我们必要遏制运行容器并行使以下呼吁将其删除:
让我们在docker-compose.yml文件中添加以下内容:
此刻,我们再次启动Docker 容器:
运行此操纵后,将拉取Adminer的镜像,并启动MySQL和Adminer的容器。 我们可以行使docker-compose ps搜查状态。 此刻,我们可以会见我们的赏识器并转到localhost:8080 来会见Adminer。 因为Adminer运行在与MySQL沟通的Docker收集上,它可以通过端口3306(或简朴地通过容器名称)会见MySQL容器。 留意:我们无法在Adminer中通过端口3308会见MySQL容器,由于这将实行会见Docker Compose收集的端口3308,而不是宿主机上的3308端口。 ![]() 我们还可以在MySQL呼吁行界面中输入以下呼吁:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |