docker安装mysql

1. 拉取mysql的镜像

查找自己需要的版本

复制代码
docker search mysql

拉取版本 这里默认为最新的版本

复制代码
docker pull mysql

2. 创建mysql的配置文件和数据文件

复制代码
mkdir -p /temp/mysql/data
mkdir -p /temp/mysql/conf

3. 启动mysql

复制代码
docker run -p 3306:3306 \
  --name mysql \
  -v /temp/mysql/data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=自己想设置的密码 \
  -d mysql:latest

参数详解:

  • -p 3306:3306
  • -p 是端口映射选项。
  • 3306:3306 表示将主机的 3306 端口映射到容器的 3306 端口。这是 MySQL 的默认端口,允许你从主机连接到容器内运行的 MySQL 服务。
  • --name mysql
  • --name 用于给容器指定一个名称,这里指定为 mysql。这样你可以通过这个名称来管理容器,例如停止、启动、删除等。
  • -v /temp/mysql/data:/var/lib/mysql
  • -v 是挂载卷选项。
  • /temp/mysql/data:/var/lib/mysql 表示将主机上的目录 /temp/mysql/data 挂载到容器内的 /var/lib/mysql 目录。这样 MySQL 数据库的数据会被持久化到主机上的这个目录中,即使容器被删除,数据也不会丢失。
  • -e MYSQL_ROOT_PASSWORD=密码
  • -e 是环境变量选项。
  • MYSQL_ROOT_PASSWORD=1459Hyh. 设置了 MySQL 数据库的 root 用户密码为 1459Hyh.。这是 MySQL 容器启动时所需要的一个环境变量,用于初始化数据库的管理员密码。
  • -d
  • -d 是后台运行选项。
  • 这个选项表示容器将以守护进程(即后台)模式运行,这样你不会被容器的输出信息所打扰,并且命令行会立即返回。

查看是否启动:

复制代码
docker ps

连接需要开放安全组的33066端口或者关闭防火墙

4. 远程连接测试

可以看到是能连接成功

相关推荐
风曦Kisaki1 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
张忠琳1 小时前
【NVIDIA】NVIDIA k8s-device-plugin v0.19.3 资源管理器模块深度分析之三
云原生·容器·架构·kubernetes·nvidia
毛驴赶鹿2 小时前
低配置服务器怎么搭建监控?Komari Docker部署与公网访问完整教程
运维·服务器·docker
Chengbei113 小时前
云安全漏洞挖掘SKILL、一站式云漏洞挖掘工具,支持S3爆破、IMDS探测、K8s检测与AK/SK权限利用
前端·人工智能·网络安全·云原生·容器·kubernetes·系统安全
古月方枘Fry3 小时前
基于大模型+MySQL的innoai助手(可适配多数环境)
网络·数据库·mysql·aigc
Ai拆代码的曹操4 小时前
K8s 调度器 predicate 阶段揭秘:为什么你的 Pod 总是堆在同一台机器
后端·容器
Ai拆代码的曹操4 小时前
手摸手排查:Pod CrashLoopBackOff 日志丢失问题,3 层兜底方案
后端·容器
无忧.芙桃4 小时前
MySQL数据库原理与实践(四):基本查询
大数据·数据库·mysql
张忠琳5 小时前
【NVIDIA】k8s-device-plugin v0.19.3 — CDI / MIG / vGPU 模块超深度代码分析之五
云原生·容器·架构·kubernetes·nvidia
冷莫溪5 小时前
Docker——3.Harbor 核心架构与原理详解
docker·容器·架构