Docker desktop安装mysql过程

 更新时间:2024年12月16日 09:37:05   作者:滄鎟あ  
文章介绍了如何在本地已有的Docker环境中拉取并启动MySQL容器,并详细说明了常用的环境变量参数,此外,还讨论了如何通过挂接本地磁盘来持久化MySQL数据,从而避免数据丢失

Docker desktop安装mysql

首先本地已经有 docker 环境存在,然后可以拉取 MySQL 镜像。

相关mysql仓库地址

https://hub.docker.com/_/mysql/

	# 镜像拉取 docker pull mysql:8.0.26
	docker pull mysql:latest
	# 查看镜像列表
	docker image ls

等待镜像完成之后就可以启动mysql了

注意需要配置一些启动参数

	# 启动命令
	docker run -it --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=12345678 mysql:8.0.28
	# 如果要后台启动加-d参数
	docker run -itd --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=12345678 mysql:8.0.28
	# 查看容器
	docker ps
	# 查看容器,包括已经停止的
	docker ps -a
	# 停止镜像
	docker kill 容器id
	# 再次启动已经停止的容器
	docker start 容器id

MySQL 提供了很多环境变量参数

可以自定义 MySQL 环境

常用的如下:

参考地址:https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html

参数名说明默认值
MYSQL_ROOT_PASSWORDroot 用户的密码my-secret-pw
MYSQL_DATABASE自定义新数据库名称
MYSQL_USER自定义用户名
MYSQL_PASSWORD自定义用户密码
MYSQL_ALLOW_EMPTY_PASSWORD是否允许启动 root 密码是空密码:非空表示 yes空表示 no
MYSQL_RANDOM_ROOT_PASSWORD使用随机 root 密码,一般从日志中查找密码:非空表示 yes空表示 no
MYSQL_ONETIME_PASSWORDroot 使用一次性密码:非空表示 yes,登录后强制要求修改空表示 no
MYSQL_INITDB_SKIP_TZINFOCONVERT_TZ() 获取时区,非空表示 disable

一般使用MYSQL_ROOT_PASSWORD就可以了

上面的情况下启动的 MySQL 能够满足基本需求,不过每次重启之后数据就丢失了,就算是开发环境这样也不能接受的,需要挂接本地磁盘,方便下次可以访问。

首先可以选择一个本地文件路径,如:C:/MySQL/data,然后映射到/var/lib/mysql,增加命令参数: -v C:/MySQL/data:/var/lib/mysql

完整命令:

docker run -itd --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=12345678 -v D:\DockerRepmysql\data:/var/lib/mysql -v D:\DockerRep\mysql\conf/conf.d:/etc/mysql/conf.d mysql:8.0.28
docker run --name mysql -v D:\DockerRep\mysql\conf:/etc/mysql -v D:\DockerRep\mysql\log:/var/log -v D:\DockerRep\mysql\data:/var/lib/mysql -v D:\DockerRep\mysql\conf\conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=jecn@123 -d -i -p 13306:3306 mysql:5.7.37

如果还要自定义配置文件可以再增加:

D:\DockerRep\mysql\conf/conf.d:/etc/mysql/conf.d

然后可以用客户端登录了,而且下次启动不会丢失数据。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker和镜像的操作方法

    Docker和镜像的操作方法

    这篇文章主要介绍了Docker和镜像的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Dockerfile中multi-stage(多阶段构建)详解

    Dockerfile中multi-stage(多阶段构建)详解

    在2017年5月3日即将发行的 Docker 17.05.0-ce 中,Docker 官方提供了简便的多阶段构建 (multi-stage build) 方案,下面这篇文章主要给大家介绍了关于Dockerfile中multi-stage(多阶段构建)的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-03-03
  • 详解docker容器间通信的一种方法

    详解docker容器间通信的一种方法

    本篇文章主要介绍了详解docker容器间通信的一种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Docker部署Django应用的示例

    Docker部署Django应用的示例

    这篇文章主要介绍了Docker部署Django应用的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • docker安装java环境的实现步骤

    docker安装java环境的实现步骤

    这篇文章主要介绍了docker安装java环境的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 查询Docker镜像DockerFile的方法步骤

    查询Docker镜像DockerFile的方法步骤

    本文主要介绍了查询Docker镜像DockerFile的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • docker安装部署jumpserver 2.25.5的方法

    docker安装部署jumpserver 2.25.5的方法

    这篇文章主要介绍了docker安装部署jumpserver 2.25.5的方法,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Docker 中快速构建 Redis Cluster 集群的详细过程

    Docker 中快速构建 Redis Cluster 集群的详细过程

    Redis Cluster 集群模式提供了数据分区和高可用性,通过分布式方式存储和管理数据,实现更高的扩展性,本指南将演示如何使用 Docker 快速构建一个包含 3 个节点的 Redis Cluster 集群,感兴趣的朋友一起看看
    2024-05-05
  • 详解六种减小Docker镜像大小的方法

    详解六种减小Docker镜像大小的方法

    这篇文章主要介绍了详解六种减小Docker镜像大小的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Docker部署Tomcat的示例代码

    Docker部署Tomcat的示例代码

    本文主要介绍了Docker部署Tomcat的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论