返回顶部
首页 > 资讯 > 数据库 >Docker怎么挂载mysql
  • 955
分享到

Docker怎么挂载mysql

2023-07-05 10:07:05 955人浏览 独家记忆
摘要

这篇文章主要介绍“Docker怎么挂载mysql”,在日常操作中,相信很多人在Docker怎么挂载Mysql问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker怎么挂载mysql”的疑惑有所帮助!接下来

这篇文章主要介绍“Docker怎么挂载mysql”,在日常操作中,相信很多人在Docker怎么挂载Mysql问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker怎么挂载mysql”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    Docker挂载mysql

    我们在VMware上的linux系统上安装启动mysql服务后,可以在本机windows系统上通过Navicat远程访问,可以进行数据库表的增删改查,但是会存在一个问题

    此时如果通过docker关闭MySQL容器,就会导致数据丢失(可以理解为数据库中的提交事务,未提交事务会导致数据没保存成功 ),因此修改容器之后需要保存或者挂载mysql数据库

    1.下载镜像

    # 最新版本docker pull mysql # 如 5.7 版本 本文基于5.7版本docker pull mysql:5.7

    2.启动mysql容器

    # 运行mysql命名容器名称为mysql并且设置root账号初始密码为rootdocker run  -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWord="root" -d mysql:5.7

    3.确定mysql配置文件路径

    #进入docker容器,mysql为刚安装的容器名称docker exec -it mysql或者mysql容器ID /bin/bash # 查找Docker内,MySQL配置文件my.cnf的位置mysql --help | grep my.cnf # 会输出数据文件的存放路径 /var/lib/mysql/show variables like '%datadir%';

    Docker怎么挂载mysql

    Docker怎么挂载mysql

    4.创建本地路径并挂载Docker内数据

    拷贝MySQL容器配置文件

    mkdir -p /usr/local/mysql/conf && mkdir -p /usr/local/mysql/data # 将容器的配置复制到服务器docker cp mysql:/etc/mysql/* /usr/local/mysql/conf/或docker cp mysql:/etc/mysql/. /usr/local/mysql/conf/ # 修改字符集vim /usr/local/mysql/conf/my.cnfcharacter-set-server=utf8

    如果遇到如下错误:

    /usr/bin/docker-current:Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/1b1d4a0234ee4caxxxxx/merged: invalid argument.
     
    See '/usr/bin/docker-current run --help'.

    这个是因为用的overlay2文件系统,而系统默认只能识别overlay文件系统,更新文件系统即可

    systemctl stop docker      //停掉docker服务rm -rf /var/lib/docker        //注意会清掉docker images的镜像vim /etc/sysconfig/docker-storage      //将文件里的overlay2改成overlay即可

    如:DOCKER_STORAGE_OPTioNS="--storage-driver overlay"

    vim /etc/sysconfig/docker         //去掉option后面的--selinux-enabled

    然后启动docker即可:systemctl start docker

    5.重新启动mysql容器

    docker stop mysql docker rm mysql docker run --name mysql \-p 3306:3306 \-v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf \-v /usr/local/mysql/data:/var/lib/mysql \  -v /usr/local/mysql/log:/logs \-e MYSQL_ROOT_PASSWORD=admin123456 \--restart=always \-d mysql:5.7 docker run --name mysql -p 3306:3306 -v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/log:/logs -e MYSQL_ROOT_PASSWORD=admin123456 --restart=always -d mysql

    映射MySQL数据文件后,删除或者停止mysql容器后能保留数据库文件,不至于导致数据库丢失

    初识Docker挂载mysql挂载备份

    首先下载一个mysql:docker pull mysql

    运行mysql容器,需要做数据挂载(挂载就是将mysql中的文件,挂载到linux中,下次修改mysql配置文件,就不需要进入mysql,也可以备份mysql的数据):##安装启动mysql,需要配置密码:

    docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=自己设置的密码 --name mysql01 mysql
    • -d 后台启动

    • -p 端口映射,将3306映射到外部端口

    • -v 卷挂载,将mysql内部文件同步到linux的文件中,做到备份

    • -e 环境配置,这里配置的是mysql密码

    • --name 容器名称

    挂载方式有具名挂载和匿名挂载

    #查看所有volume(卷挂载)的情况 :docker volume ls

    #匿名挂载:-v 容器内路径

    docker run -d -P --name mysql01 -v /etc/mysql mysql

    (-P 随机映射端口)

    #具名挂载:

    docker run -d -P --name mysql02 -v juming-mysql:/etc/mysql mysql

    (具名挂载名称:juming-mysql)

    #通过 -v 卷名:容器内路径

    #查看一下这个卷:

    docker volume inspect juming-mysql

    Docker怎么挂载mysql

    #所有的docker容器卷,在没有指定目录的情况下,都存储在 /var/lib/docker/volumes/xxx/_data

    **如何确定是具名挂载还是匿名挂载,还是指定路径挂载!**-v 容器内路径#匿名挂载-v 卷名:容器内路径#具名挂载-v /宿主机路径:容器内路径#指定路径挂载

    拓展

    #通过 -v 容器内路径:rorw改变读写权限roreadonly#只读rwreadwrite#可读可写#一旦设置了容器权限,容器对我们挂载出来的内容就有限定docker run -d -P --name mysql02 -v juming-mysql:/etc/mysql:ro mysqldocker run -d -P --name mysql02 -v juming-mysql:/etc/mysql:rw mysql#ro,只要看到ro就说明这个路径只能通过宿主机操作,容器内部是无法操作的!

    测试的时候发现,如果一个文件名,如juming-mysql挂载过一次,删除容器后,再使用这个名字时,会无法挂载上,原因是docker 里面的volumes缓存没有清除:

    可以使用 docker --help 可以看到命令

    Docker怎么挂载mysql

    再使用:docker system --help

    Docker怎么挂载mysql

    这个就是docker清理volumes缓存的选项,输入docker system prune 确定时输入y,即可删除 挂载缓存

    Docker怎么挂载mysql

    到此,关于“Docker怎么挂载mysql”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    您可能感兴趣的文档:

    --结束END--

    本文标题: Docker怎么挂载mysql

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

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

    猜你喜欢
    • Docker怎么挂载mysql
      这篇文章主要介绍“Docker怎么挂载mysql”,在日常操作中,相信很多人在Docker怎么挂载mysql问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker怎么挂载mysql”的疑惑有所帮助!接下来...
      99+
      2023-07-05
    • Docker如何挂载mysql
      目录docker挂载mysql1.下载镜像2.启动mysql容器3.确定mysql配置文件路径4.创建本地路径并挂载Docker内数据5.重新启动mysql容器初识Docker挂载mysql挂载备份挂载方式有具名挂载和匿...
      99+
      2023-03-07
      Docker挂载mysql Dockermysql Dockermysql挂载
    • docker怎么挂载配置文件
      在使用Docker时,可以通过挂载配置文件来将宿主机上的配置文件映射到容器内部。以下是挂载配置文件的方法: 使用 `-v` 参数...
      99+
      2023-10-26
      docker
    • Docker nginx怎么安装与配置挂载
      这篇“Docker nginx怎么安装与配置挂载”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
      99+
      2024-04-02
    • Docker怎么搭建Redis5.0并挂载数据
      本篇内容主要讲解“Docker怎么搭建Redis5.0并挂载数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker怎么搭建Redis5.0并挂载数据”吧!目录 一、简单挂载持久...
      99+
      2023-06-20
    • Linux怎么挂载磁盘和安装docker
      本篇内容介绍了“Linux怎么挂载磁盘和安装docker”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!挂载磁盘查看系统分区,获取新添加的磁盘...
      99+
      2023-06-28
    • docker怎么查看容器挂载信息
      要查看Docker容器的挂载信息,可以使用以下命令:1. 使用docker ps命令查找容器的ID或名称。2. 使用docker i...
      99+
      2023-10-19
      docker
    • docker动态挂载目录怎么实现
      在Docker中实现动态挂载目录有两种常用的方法: 使用`-v`参数进行挂载:可以在运行容器时通过`-v`参数指定要挂载的目录。例...
      99+
      2023-10-26
      docker
    • Docker挂载资料卷保存MySQL数据
      简介 docker是运行在虚拟环境中的,这样会有一个问题,那就是储存在docker内的数据会随着docker的重启、宕机而丢失,从而造成不可估量的损失。 所以docker提供了-v指...
      99+
      2024-04-02
    • docker的具名挂载与匿名挂载实现
      大家好,今天我们分享一下docker 的具名挂载与匿名挂载 以这条命令举例 [root@localhost ~]# docker run -d -P --name nginx02 ...
      99+
      2024-04-02
    • 怎么在Docker中查看容器挂载点
      要查看Docker容器的挂载点,可以使用以下命令:1. 首先,使用`docker ps`命令列出正在运行的容器,找到要查看挂载点的容...
      99+
      2023-09-04
      Docker
    • Docker如何使用匿名挂载和具名挂载
      小编给大家分享一下Docker如何使用匿名挂载和具名挂载,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据卷volume提到这个匿名挂在和具名挂载,其实要先普及一...
      99+
      2023-06-22
    • Docker匿名挂载和具名挂载的具体使用
      目录数据卷volume匿名挂载和具名挂载数据卷的位置数据卷volume 提到这个匿名挂在和具名挂载,其实要先普及一个知识,就是什么是volumes,这个volumes就是数据卷的意思...
      99+
      2024-04-02
    • docker挂载的目录无法读写怎么办
      这篇文章将为大家详细讲解有关docker挂载的目录无法读写怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用下面的命令可以创建一个容器并且把本地的/home/dock/Downloads目录挂载到容...
      99+
      2023-06-14
    • docker文件挂载无法删除怎么解决
      如果 Docker 容器中的文件挂载无法删除,可能是由于以下几个原因: 文件被其他进程占用:首先确认文件是否被其他进程占用,可以...
      99+
      2023-10-23
      docker
    • docker挂载文件修改生效怎么实现
      要使Docker容器中挂载的文件修改生效,可以通过以下几种方式实现: 使用docker cp命令将修改后的文件复制回宿主机,并重...
      99+
      2023-10-24
      docker
    • Docker搭建MySQL并挂载数据的全过程
      目录一、Docker搭建MySQL并挂载数据二、挂载是否生效其他总结 记录 Docker 搭建 MySQL 并挂载数据过程,搭建过程参考自 Docker Hub&...
      99+
      2024-04-02
    • 在 Docker 中部署 Mysql 并挂载配置文件
      在 Docker 中部署 MySQL 并挂载配置文件,可以使用以下步骤: 创建本地目录 首先,在主机上创建一个目录,用于存放 MySQL 的配置文件。例如,创建一个名为 mysql 的目录,用于存放 MySQL 的配置文件。 mkdir m...
      99+
      2023-08-22
      mysql docker 数据库
    • docker镜像挂载的方法是什么
      在Docker中,可以通过 -v 或 --volume 参数来挂载本地文件或目录到容器中。具体的方法如下: 将本地文件挂载到容器中...
      99+
      2024-03-05
      docker
    • docker文件挂载的步骤是什么
      Docker 文件挂载的步骤如下: 创建一个目录或文件,用于存放挂载的数据。 在运行 Docker 容器时,使用 -v 或 --m...
      99+
      2024-03-05
      docker
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作