返回顶部
首页 > 资讯 > 数据库 >在 Docker 容器中为您的项目使用 MySQL
  • 180
分享到

在 Docker 容器中为您的项目使用 MySQL

mysqllinuxgitdockermacos 2024-08-07 12:08:48 180人浏览 八月长安
摘要

我坚信保持主机系统清洁。 Docker 容器是解决这个问题的完美解决方案。假设您正在开发一个带有 node / express 后端和 Mysql 服务器的 React 应用程序来满足

我坚信保持主机系统清洁。 Docker 容器是解决这个问题的完美解决方案。假设您正在开发一个带有 node / express 后端Mysql 服务器React 应用程序来满足您的数据库需求。通常,您将在主机系统中安装 mysql、创建数据库、创建具有密码的用户并授予用户使用该数据库的权限。

我不再浪费时间为每个项目进行每次配置,而是使用 docker 映像来创建我的 mysql 数据库服务器,几秒钟内即可准备好、启动并运行,并完成我需要的所有必要设置.

相信我,一旦你使用这条路线弄清楚了你的工作流程,你将永远不会回到旧的方式。所以,这就是我的做法,一种非常简单、基本的方式。

如果您有一些 docker 经验并希望跳过本教程并直接使用 tldr 版本,那么这个 GISt 会快得多。

我们需要什么?

要使用 docker,我们需要 docker,呵呵!这里不再赘述安装docker的细节。如果您不习惯 cli 或者您使用的是 windows/Macos,请使用 docker desktop,它将在幕后为您完成所有繁重的工作。

如果您不喜欢,linux 用户也可以使用 docker compose 插件或 docker desktop 安装 docker engine。

您通常不需要 docker hub 上的帐户来下载公共镜像,例如我们将使用的 mysql 官方镜像。

好吧,现在怎么办?

有两种方法可以做到这一点。

使用 docker run(不推荐)

为了能够使用 docker run 命令直接运行容器,您必须首先在系统上下载 mysql 映像。要将映像拉取到您的系统,只需使用以下命令:

docker pull mysql
注意:如果您不需要特定版本的 mysql,那么此命令将下载最新版本(带有最新标签的版本)。如果需要,您可以从 docker hub 探索更多标签和版本。

docker 下载完成后,您可以看到下载的镜像,如下所示:

docker image ls

现在,要运行容器,您必须使用 docker run 命令添加很多标志。您可以访问此链接来检查您拥有的所有选项。您还需要记住需要添加的所有标志,因为缺少一些标志可能会引发错误或启动无法运行的容器。

此外,每次您希望运行容器时,您都必须从终端历史记录中找出这个长命令,或者再次输入它。这样做毫无意义。

这就是我不推荐这种方法的原因。有更好的方法。

docker 组合

我们将创建一个 docker compose 文件,该文件将告诉 docker 我们在启动容器时需要什么。一旦所有内容都布置在文件中,启动容器就变得小菜一碟了。

注意:您可以使用任何名称创建撰写文件。如果您使用自己的名称或将撰写文件存储在其他文件夹中,则必须提供标志 -f 才能使其正常工作。或者,如果您从文件所在的同一文件夹运行命令,则可以将文件命名为 docker-compose.yaml。

docker compose 文件是一个 yaml 文件。我们的看起来像这样:

# this docker compose yaml deploys a mysql database
services:
  container-name:

    image: mysql # official mysql image from docker hub
    restart: always

    environment:
      # note - root passWord is mandatory for the container to run and grant privileges to our user.
      mysql_root_password: ${mysql_root_password}

      mysql_database: ${mysql_database} # same name as used in your project

      # db user details
      mysql_user: ${mysql_user}
      mysql_password: ${mysql_password}

    ports:
      # adjust this port as per your needs -&gt; <hostport>:<containerport>
      - 3308:3306 # db is available at localhost:3308 on the host.

    volumes:
      - ./volumes/db-mnt:/var/lib/mysql
</containerport></hostport>

这个文件也可以在开头提到的 gist 上找到。

重要了解

  1. 端口映射:第一个端口是主机端口(您的系统),它映射到第二个端口(docker 容器内的端口)。这意味着,在上面的示例中,您可以访问 localhost:3308 处的数据库。除非,你知道自己在做什么,否则请将第二个端口保留为 3306。这是 mysql 的默认端口。
  2. 卷绑定挂载:我们将本地卷挂载到容器中以将数据保存在数据库中。这使得在需要时可以轻松备份和移动。您还可以让 docker 管理它自己的卷并在主机系统上创建定期备份。 #### 环境文件 为了在创建容器时向 docker 提供必要的凭据,我们将创建一个 .env 文件,就像我们在 react 或后端应用程序中所做的那样。

您可以在您的 compose 文件所在的同一文件夹中创建此文件,也可以在任何您喜欢的位置创建它,但需要在调用 docker-compose 时提供路径。

# content of the environment variables file
mysql_root_password=rootpassword
mysql_database=nameofdatabase
mysql_user=dbusername
mysql_password=dbuserpassword

一旦我们完成所有这些,我们只需使用一个小命令,我们的数据库就会启动并准备好等待我们。

docker-compose up -d

您现在已准备好使用您喜欢的方式连接到数据库。

由于我们已将容器配置为从 compose 文件运行,因此您可以安全地将其备份到存储库中的 git 系统中。只要确保您 .git 忽略 .env 文件即可。

以上就是在 Docker 容器中为您的项目使用 MySQL的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: 在 Docker 容器中为您的项目使用 MySQL

本文链接: https://lsjlt.com/news/620952.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在 Docker 容器中为您的项目使用 MySQL
    我坚信保持主机系统清洁。 docker 容器是解决这个问题的完美解决方案。假设您正在开发一个带有 node / express 后端和 mysql 服务器的 react 应用程序来满足...
    99+
    2024-08-07
    mysql linux git docker macos
  • .Net项目在Docker容器中开发部署
    .NET多年以前已经开始支持Docker,但由于国内.net现状,生产过程中几乎用不到docker支持,趁着有点时间捣鼓下。 先期工作 1、首先安装Docker Desktop 2、...
    99+
    2024-04-02
  • 如何在docker容器中部署Web项目
    小编给大家分享一下如何在docker容器中部署Web项目,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!系统选用Centos或者Ubuntu都可以。 大致...
    99+
    2023-06-04
  • docker容器项目无法访问mysql
    使用docker容器部署的项目无法访问在主机中安装的mysql? 从项目安全角度考虑,大多数公司在线上项目中都会开启防火墙,并针对指定端口添加白名单的方式进行访问。恰好就遇到了安装在宿主机中的mysql的端口3306没有开启访问,而是需要通...
    99+
    2023-09-08
    mysql docker
  • 使用Portainer部署Docker容器的项目实践
    目录一、背景二、操作步骤三、安装Portiner3.1 docker部署3.2 节点初始化3.3 功能初探四、管理节点4.1 开始添加节点4.2 开放API控制4.3 验证端口状态4...
    99+
    2024-04-02
  • Docker从容器中项目如何访问到宿主机MYSQL
    一、说明         使用 Docker 能实现服务的容器化,并使用容器间网络在它们之间进行通信。有时您可能需要一个容器来与宿主机上非容器化的服务通信。以下是如何从 Docker 容器中访问本地主机或 127.0.0.1的具体方法。 ...
    99+
    2023-09-07
    docker mysql 容器
  • 在Docker容器中怎么使用Arthas
    这篇文章主要介绍“在Docker容器中怎么使用Arthas”,在日常操作中,相信很多人在在Docker容器中怎么使用Arthas问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Docker容器中怎么使用Art...
    99+
    2023-06-21
  • web worker在项目中的使用学习为项目增加亮点
    目录引言为什么JavaScript是单线程?什么是Web Worker?小试牛刀在单页面应用中使用注意事项小结引言 平时小伙伴们不是说日常的项目开发中,都是单纯的搬砖,没啥亮点嘛,那...
    99+
    2024-04-02
  • 使用Docker容器运行Mysql
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 使用Docker容器运行Mysql 前言一、基础的虚拟机环境二、安装过程安装配置docker拉取Mysql镜像用docker启动mysql命令的使用和参数具体解...
    99+
    2023-08-16
    编辑器 docker mysql 运维 容器
  • ASP Windows对象接口:如何在您的项目中使用它?
    ASP (Active Server Pages) 是一种创建动态 Web 页面的技术,它允许您通过服务器端脚本来生成 HTML 页面。在 ASP 中,Windows 对象接口提供了一种与 Windows 操作系统交互的方式,让您能够使用...
    99+
    2023-08-29
    windows 对象 接口
  • 如何在Linux中使用Git来管理您的开发项目?
    在Linux中使用Git来管理您的开发项目,是一种高效、可靠的方式。Git是一个流行的版本控制系统,它可以跟踪您的代码更改,并帮助您协作开发。本文将介绍如何在Linux中使用Git来管理您的开发项目。 安装Git 首先,您需要在Linux...
    99+
    2023-08-02
    bash linux git
  • PHP函数load容器:如何在你的项目中使用它?
    在编写复杂的PHP应用程序时,常常会遇到需要加载大量的函数和类的情况。这不仅会占用大量的内存和磁盘空间,还会使代码难以维护。这时候,我们需要一个能够自动加载函数和类的工具,来帮助我们简化代码和提高效率。PHP函数load容器正是这样一个工...
    99+
    2023-07-24
    函数 load 容器
  • 如何在go项目中使用容器化存储框架?
    如何在 Go 项目中使用容器化存储框架? 随着云原生时代的到来,容器化存储框架在分布式系统中变得越来越重要。在 Go 项目中使用容器化存储框架可以提高系统的可扩展性和容错性。本文将介绍如何在 Go 项目中使用容器化存储框架,并通过演示代码来...
    99+
    2023-10-07
    存储 框架 容器
  • Git 与容器技术:如何在 Python 项目中使用 Bash?
    随着软件开发的快速发展,新的工具和技术不断涌现。Git和容器技术是这些新技术中最受欢迎的两个。Git是一个版本控制系统,可以跟踪软件开发过程中的变化。而容器技术则可以帮助开发人员快速构建、部署和管理应用程序。在Python项目中,如何使用...
    99+
    2023-10-14
    git 容器 bash
  • 在PHP中使用Docker容器的最佳实践
    在PHP中使用Docker容器的最佳实践随着云计算逐渐成为主流,Docker作为一个轻量级的虚拟化方案,也越来越受到开发者的青睐。作为PHP开发者,使用Docker容器来构建和运行应用程序,可以极大地提高开发效率和部署可靠性。本文将介绍在P...
    99+
    2023-05-23
    Docker PHP 最佳实践
  • 在Docker容器中使用Arthas的详细步骤
    Arthas(阿尔萨斯) 能为你做什么? Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这...
    99+
    2024-04-02
  • 如何在 Docker 容器中运行 MySQL
    本指南逐步解释了如何在几分钟内设置在 Docker 容器中运行的新 MySQL 服务器。 Docker 的一大优点是您可以快速使用它来试用应用程序,而无需直接在您的机器上安装它。您可以使用 Docker 在容器中运行数据库,就像它是远程服务...
    99+
    2023-09-17
    python php 开发语言
  • Docker大型项目容器化改造的方法
    本篇内容介绍了“Docker大型项目容器化改造的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一个几十...
    99+
    2024-04-02
  • SpringBoot项目docker容器部署的示例分析
    这篇文章主要介绍了SpringBoot项目docker容器部署的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、修改docker.service,使其暴露2375端...
    99+
    2023-06-29
  • 禁止SpringBoot在项目中使用Tomcat容器的原理是什么
    这篇文章主要讲解了“禁止SpringBoot在项目中使用Tomcat容器的原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“禁止SpringBoot在项目中使用Tomcat容器的原理是...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作