iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >13. Docker实战之安装MySQL
  • 653
分享到

13. Docker实战之安装MySQL

dockermysql运维云原生linux容器 2023-09-03 06:09:38 653人浏览 安东尼
摘要

目录 1、前言 2、部署MySQL 2.1、Docker仓库查看镜像 2.2、拉取MySQL镜像 2.3、创建持久化目录 2.4、启动MySQL容器 2.5、查看宿主机上的MySQL目录 2.6、本地MySQL测试 2.7、新建MySQL

目录

1、前言

2、部署MySQL

2.1、Docker仓库查看镜像

2.2、拉取MySQL镜像

2.3、创建持久化目录

2.4、启动MySQL容器

2.5、查看宿主机上的MySQL目录

2.6、本地MySQL测试

2.7、新建MySQL用户,配置远程访问

2.8、本地Navicat连接测试

3、为什么数据库不适合Docker容器化

3.1、数据安全性

3.2、硬件资源争用

3.3、网络带宽占用

3.4、数据额外隔离

4、小结


1、前言

开发中,通常会自建Mysql数据库方便个人开发测试。这里利用Docker安装mysql 5.7。

2、部署Mysql

2.1、Docker仓库查看镜像

上镜像仓库:https://hub.docker.com/ 搜索mysql。

搜索结果第一条,就是我们要的结果。

点击进去查看详情,可以看到关于MySQL镜像相关的所有信息。我们需要安装的是MySQL5.7版本,因此我们进入到Tags中。

找到我们要的5.7版本。

后面的黑框里的命令,就是我们可以拉取该版本的命令。

2.2、拉取MySQL镜像

从Docker Hub中复制拉取镜像命令,执行。

docker pull mysql:5.7

2.3、创建持久化目录

MySQL数据库部署时,一定要考虑数据持久化的问题。如果没有挂在持久化数据卷,一旦MySQL容器被销毁,则数据将会全部丢失。

# 用于存放mysql配置文件mkdir -p mysql/conf# 用于存放mysql数据mkdir -p mysql/data

2.4、启动MySQL容器

docker run -d -p 33066:3306 \    -v /home/pengyaohuang/mysql/conf:/etc/mysql/conf.d  \    -v /home/pengyaohuang/mysql/data:/var/lib/mysql \    -e MYSQL_ROOT_PASSWord=root \    --name mysql mysql:5.7

-v将MySQL的配置文件和数据文件挂在到宿主机上。

2.5、查看宿主机上的MySQL目录

tree -d -L 3 /home/pengyaohuang/mysql/

2.6、本地MySQL测试

先进入docker容器内

docker exec -it mysql /bin/bash

再通过命令进入MySQL:

mysql -uroot -p

2.7、新建MySQL用户,配置远程访问

创建一个admin_rw账户:

# 创建用户mysql> create user 'admin_rw'@'%' identified by '123456';# 赋予所有权限mysql> grant all privileges on *.* to 'admin_rw'@'%';# 刷新权限mysql> flush privileges;

2.8、本地Navicat连接测试

由于我映射到宿主机端口为33066,因此我的MySQL连接信息为:192.168.74.128:33066

连接成功:

3、为什么数据库不适合Docker容器化

虽然我们按照前面步骤能够正常安装并使用我们的MySQL。但是实际项目中,我们MySQL很少会使用Docker安装,要么直接装在宿主机,要么使用云服务RDS。这是因为DOcker容器提供的是无状态的服务,所以不适合将有状态的服务(如数据库)部署到Docker容器中。原因有4:

3.1、数据安全

尽管 Docker 可以通过数据卷的方式将容器中的数据持久化到宿主机上,但仍不能保证不丢失数据。如果容器崩溃了,且数据库未被正确关闭,则可能会丢失数据。

3.2、硬件资源争用

通常在一台 Docker 的宿主机上会启动多个容器,如果将数据库的容器与其他应用的容器部署在同一个宿主机上,由于它们对硬件资源的要求是不同的,则必然会造成资源争用的问题。

3.3、网络带宽占用

Docker 的网络都是虚拟网络,通过宿主机上的 docker0 网桥进行转发。而数据库通常对网络带宽的要求是比较高的。因此,将数据库的容器与其他应用的容器部署在同一个宿主机上,则网络带宽必然会成为数据库性能的瓶颈。

3.4、数据额外隔离

将数据库部署到容器中,毫无疑问会增加对容器的隔离,不利于数据库的水平扩展。

4、小结

使用 Docker 是为了更容易地构建新环境和重新部署应用。而在实际情况中,数据库一旦部署完成,则很少会对数据库进行升级或重新部署。因此,从这个角度来看数据库也不适合 Docker 容器化。

来源地址:https://blog.csdn.net/p793049488/article/details/132471922

您可能感兴趣的文档:

--结束END--

本文标题: 13. Docker实战之安装MySQL

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 13. Docker实战之安装MySQL
    目录 1、前言 2、部署MySQL 2.1、Docker仓库查看镜像 2.2、拉取MySQL镜像 2.3、创建持久化目录 2.4、启动MySQL容器 2.5、查看宿主机上的MySQL目录 2.6、本地MySQL测试 2.7、新建MySQL...
    99+
    2023-09-03
    docker mysql 运维 云原生 linux 容器
  • Docker安装部署neo4j的实战过程
    目录前言一、Docker 安装部署neo4j二、源码包安装 neo4j三、k8s搭建NEO4J因果集neo4j 3个成员组成的集群托管Kubernetes上部署Neo4J单核总结前言...
    99+
    2023-05-20
    docker neo4j docker安装部署neo4j neo4j docker
  • Docker 安装 MySQL
    目录 一、查看 MySQL 版本 二、拉取 MySQL 镜像 三、查看本地镜像 四、运行容器 五、停止和启动容器 六、列出正在运行的容器 七、进入容器 八、登录MySQL 九、IDEA 连接 MySQL 一、查看 MySQL 版本 访问...
    99+
    2023-08-31
    linux 运维 服务器 mysql docker 容器 数据库
  • Docker安装MySQL
    目录 前言 一、拉取镜像  二、查看镜像  三、运行镜像 四、查看正在运行的容器 五、查看容器内部 六、修改mysql配置 七、重启mysql服务,使其配置生效 八、设置docker启动时启动mysql 九、重启mysql 十、授权远程访...
    99+
    2023-09-24
    mysql docker 数据库
  • Docker安装mysql实例分析
    这篇文章主要介绍“Docker安装mysql实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker安装mysql实例分析”文章能帮助大家解决问题。查看需要安装的镜像版本搜索mysql点击...
    99+
    2023-07-02
  • docker compose 安装Mysql
    第一步:首先安装docker 和docker-compose 这里使用快速安装脚本进行安装 curl -sSL https://get.daocloud.io/docker | sh 第二步:新建/data/mysql目录    data...
    99+
    2023-09-18
    docker java 运维
  • 【Docker】02-安装mysql
    参考教程: https://www.bilibili.com/video/BV1Qa4y1t7YH/p=5&spm_id_from=pageDriver&vd_source=4964ba5015a16eb57d0ac13401b0fe7...
    99+
    2023-08-30
    docker mysql
  • Docker实战之运行项目
    在本篇文章里小编给大家分享的是关于docker运行项目的方法和实例,需要的朋友们学习参考下。1、进入存放自己项目war的目录...
    99+
    2023-06-04
  • docker/docker-compose 部署 nginx+mysql+wordpress 实战
    1. 网络架构图 MariaDB 作为后面的关系型数据库,端口号是 3306; WordPress 是中间的应用服务器,使用 MariaDB 来存储数据,它的端口是 80; Nginx 是前面的反向...
    99+
    2023-09-06
    docker nginx mysql
  • docker怎么安装mysql
    这篇“docker怎么安装mysql”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker怎么安装mysql”文章吧。1...
    99+
    2023-06-29
  • Docker中安装MySQL 8
    前言 上一期在Windows中安装好了Docker环境,这一期在Docker中完成MySQL 8安装和配置。 启动Docker Desktop后在cmd窗口中输入docker -v即可查看到安装的do...
    99+
    2023-08-31
    docker mysql 容器
  • Docker安装MySQL教程
    前言 虽然 docker 安装 mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。 本文为了方便,我们直接通过yum方式安装。所以,我们在安...
    99+
    2023-08-30
    docker mysql 容器
  • docker离线安装mysql
    docker离线安装mysql 第一步:找到一台联网的安装了docker的服务器,查看当前docker镜像:docker images ,拉取mysql镜像包:docker save -o mysql...
    99+
    2023-09-03
    docker mysql 容器
  • GDB调试Mysql实战之源码编译安装的实例分析
    这篇文章将为大家详细讲解有关GDB调试Mysql实战之源码编译安装的实例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。下载源码git clone ...
    99+
    2024-04-02
  • 【MySQL入门实战5】-Linux PRM 包安装MySQL
    📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA工作经验 一位上进心十足的【大数据领域博主】!&#x...
    99+
    2023-08-21
    mysql linux 数据库 原力计划
  • Hyper-V实战之多个Win2008安装方法
    Windows 2008 的横空出世,让虚拟化技术向前更进一步。其自带的Hyper-V技术,相信很多喜欢尝新的朋友已经在使用了。   针对Hyper-V方面的介绍不予于多说,网络上大把的资料,而这篇博文的主要目的就是分...
    99+
    2023-05-25
    Hyper-V Win2008 实战 Hyper 安装 方法
  • docker安装mysql的方法
    这篇文章将为大家详细讲解有关docker安装mysql的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker安装mysql的方法:首先查询并下载镜像,代码为【d...
    99+
    2024-04-02
  • docker中如何安装mysql
    这篇文章主要介绍docker中如何安装mysql,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!    1、docker hub上面查找mysql镜像[root@t-docker...
    99+
    2023-06-04
  • 升级 MySQL 的 Docker 安装
    在升级 MySQL 的 docker 安装之前,请确保遵循以下步骤 -下载 MySQL 服务器 docker 映像。启动 MySQL 服务器实例。从容器内连接到 MySQL 服务器实例。以下是将 Docker 安装的 MySQL 5.7 升...
    99+
    2023-10-22
  • Docker容器实战之镜像仓库
    目录一.  镜像仓库1. 账号注册2. 创建仓库 二. 上传镜像一.  镜像仓库 Registry是Docker公司的一项创新,它提...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作