使用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

相关推荐
!chen1 小时前
MySQL编译安装-麒麟V10 x86
数据库·mysql·adb
努力多更新^_^1 小时前
【运维高级内容--MySQL】
linux·运维·数据库·mysql
jcLee953 小时前
Kompose工具:转换Compose项目为K8S项目
云原生·容器·kubernetes
搞什么滚去学习3 小时前
【Kubernetes】K8s中Container(容器)、Pod(小组)和node(节点)概念讲解
云原生·容器·kubernetes
秃了也弱了。3 小时前
centos7.9离线安装kubernetes(k8s)1.28版本
云原生·容器·kubernetes
天荒地老笑话么4 小时前
MySQL——多表操作(二)操作关联表(2)添加数据
数据库·mysql
눈明空5 小时前
Java超市收银系统(十、爬虫)
java·开发语言·数据库·爬虫·mysql·eclipse·idea
率真的瓜子5 小时前
【MySQL】MySQL 中 REGEXP 的用法
数据库·mysql
项目笔记与工具库5 小时前
使用Java导出MySQL数据:支持自定义分隔符的TXT文件生成
数据库·mysql
天荒地老笑话么5 小时前
MySQL——多表操作(一)外键(3)添加外键约束的参数说明
数据库·mysql