使用Docker快速部署MySQL

部署MySQL

使用Docker安装,仅仅需要一步即可,在命令行输入下面的命令

bash 复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123456 \
  mysql

MySQL安装完毕!通过任意客户端工具即可连接到MySQL.

当我们执行命令后,Docker做的第一件事情,是去自动搜索并下载了MySQL,然后会自动运行MySQL,我们完全不用插手。

而且,这种安装方式你完全不用考虑运行的操作系统环境,它不仅仅在CentOS系统是这样,在Ubuntu系统、macOS系统、甚至是装了WSL的Windows下,都可以使用这条命令来安装MySQL。

要知道,不同操作系统下其安装包、运行环境是都不相同的 !如果是手动安装,必须手动解决安装包不同、环境不同的、配置不同的问题

而使用Docker,这些完全不用考虑。就是因为Docker会自动搜索并下载MySQL。注意:这里下载的不是安装包,而是镜像。 镜像中不仅包含了MySQL本身,还包含了其运行所需要的环境、配置、系统级函数库。因此它在运行时就有自己独立的环境,就可以跨系统运行,也不需要手动再次配置环境了。这套独立运行的隔离环境我们称为容器

说明:

  • 镜像:英文是image

  • 容器:英文是container

因此,Docker安装软件的过程,就是自动搜索下载镜像,然后创建并运行容器的过程。

总结:

Docker本身包含一个后台服务,我们可以利用Docker命令告诉Docker服务,帮助我们快速部署指定的应用。Docker服务部署应用时,首先要去搜索并下载应用对应的镜像,然后根据镜像创建并允许容器,应用就部署完成了。

命令解读

解读:

  • docker run -d :创建并运行一个容器,-d则是让容器以后台进程运行

  • --name mysql : 给容器起个名字叫mysql,你可以叫别的

  • -p 3306:3306 : 设置端口映射。

    • 容器是隔离环境 ,外界不可访问。但是可以将**宿主机端口映射容器内到端口**,当访问宿主机指定端口时,就是在访问容器内的端口了。

    • 容器内端口往往是由容器内的进程决定,例如MySQL进程默认端口是3306,因此容器内端口一定是3306;而宿主机端口则可以任意指定,一般与容器内保持一致。

    • 格式: -p 宿主机端口:容器内端口,示例中就是将宿主机的3306映射到容器内的3306端口

  • -e TZ=Asia/Shanghai : 配置容器内进程运行时的一些参数

    • 格式:-e KEY=VALUE,KEY和VALUE都由容器内进程决定

    • 案例中,TZ=Asia/Shanghai是设置时区;MYSQL_ROOT_PASSWORD=123是设置MySQL默认密码

  • mysql : 设置镜像名称,Docker会根据这个名字搜索并下载镜像

    • 格式:REPOSITORY:TAG,例如mysql:8.0,其中REPOSITORY可以理解为镜像名,TAG是版本号

    • 在未指定TAG的情况下,默认是最新版本,也就是mysql:latest

相关推荐
盼哥PyAI实验室29 分钟前
Python 正则表达式实战 + 详解:从匹配QQ邮箱到掌握核心语法
python·mysql·正则表达式
IT小哥哥呀40 分钟前
MySQL慢查询优化实战:从日志分析到SQL重构全流程
mysql·性能分析·实战项目·数据库调优·sql性能·索引设计·慢查询优化
lxmyzzs1 小时前
vscode-ssh无法进入docker问题解决
vscode·docker·ssh
Candice_jy1 小时前
vscode运行ipynb文件:使用docker中的虚拟环境
服务器·ide·vscode·python·docker·容器·编辑器
点心快奔跑1 小时前
超详细Windows系统MySQL 安装教程
数据库·windows·mysql
Neo Wordsworth2 小时前
phpstudy 无法启动mysql 但命令可以启动mysql
mysql·phpstudy
Cikiss2 小时前
图解 MySQL JOIN
数据库·后端·mysql
员大头硬花生2 小时前
六、InnoDB引擎-架构-结构
数据库·mysql·oracle
roman_日积跬步-终至千里3 小时前
【Docker下部署高可用】StarRocks 存算一体架构高可用部署要点
docker·容器·架构
程序新视界3 小时前
在MySQL中,是否可以使用UUID作为主键?
数据库·后端·mysql