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之更新jar问题

    docker之更新jar问题

    这篇文章主要介绍了docker之更新jar问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • docker容器日志时间不一致问题

    docker容器日志时间不一致问题

    这篇文章主要介绍了docker容器日志时间不一致问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 详解修改docker时区及docker常用命令

    详解修改docker时区及docker常用命令

    这篇文章主要介绍了详解修改docker时区及docker常用命令,非常具有实用价值,需要的朋友可以参考下。
    2016-12-12
  • 教你如何在windows 10家庭版上安装docker

    教你如何在windows 10家庭版上安装docker

    这篇文章主要介绍了如何在windows 10家庭版上安装docker的步骤,本文分为五步通过图文给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • docker部署springboot项目启动时间与宿主机相差8小时的解决

    docker部署springboot项目启动时间与宿主机相差8小时的解决

    项目部署到docker环境,数据库中的时间总是少8个小时,本文就来介绍一下解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 如何下载docker日志到本地

    如何下载docker日志到本地

    这篇文章主要介绍了如何下载docker日志到本地问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 使用Docker搭建私有GitLab的两种方案

    使用Docker搭建私有GitLab的两种方案

    本文给大家分享两种Docker搭建私有GitLab的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-07-07
  • 两种方式创建docker镜像的启动容器时区别介绍(总结篇)

    两种方式创建docker镜像的启动容器时区别介绍(总结篇)

    这篇文章主要介绍了基于两种创建docker镜像的启动容器时区别总结,第一种凡是用docker commit生成的镜像启动的时候可以加载一个启动自己应用的脚本,第二种用Docfile文件生成的镜像时,来启动容器就不用再加这个脚本了,具体详情一起通过本文学习吧
    2016-10-10
  • 安装harbor作为docker镜像仓库的问题

    安装harbor作为docker镜像仓库的问题

    这篇文章主要介绍了安装harbor作为docker镜像仓库,主要包括docker和docker-compose离线部署,安装harbor作为本地的仓库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 使用Docker容器运行Mysql实战记录

    使用Docker容器运行Mysql实战记录

    这篇文章主要给大家介绍了关于使用Docker容器运行Mysql的相关资料,助大家更好的理解和学习使用docker,感兴趣的朋友可以了解下,需要的朋友可以参考下
    2023-09-09

最新评论