【Docker】部署MySQL容器

关于docker,Windows上使用Powershell/CMD执行指令,Linux系统直接使用终端执行指令。

拉取MySQL

也可以跳过拉取步骤,直接run,这样本地容器不存在的话,会自动拉取最新/指定的版本。

shell 复制代码
# 默认拉取最新版本
docker pull mysql
# 拉取指定版本MySQL
docker pull mysql:5.7

安装MySQL

shell 复制代码
# 这里 \ 是用作换行,实际情况下如果放在一行去写,就可以删掉\
# CentOs上"\"会被识别为换行,Windows上建议把"\"删掉
# [:自己想要的版本]如果是想要拉取最新的版本,可缺省
docker run --name mysql_docker \
--restart=always \
--privileged=true \
-p 3306:3306  \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=lcx108642 \
-e MYSQL_ROOT_HOST=% \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql/conf \
-v /etc/localtime:/etc/localtime:ro \
-d \
mysql [:自己想要的版本]
  1. docker run:这是 Docker 的命令,用于创建并启动一个新的容器。
  2. --name mysql_docker_lcx:为容器指定一个名称,这里名称为 mysql_docker_lcx
  3. --restart=always:设置容器的重启策略为 always,意味着无论容器因为什么原因退出,Docker 都会自动重启它。
  4. --privileged=true:给予容器额外的权限,使其能够访问宿主机的所有设备,并且有能力执行一些需要高级权限的操作。
  5. -p 3306:3306:将容器内部的 3306 端口映射到宿主机的 3306 端口,这样可以通过宿主机的 3306 端口访问 MySQL 服务。
  6. -e TZ=Asia/Shanghai \:设置mysql服务的时区。
  7. -e MYSQL_ROOT_PASSWORD=123456:设置环境变量,指定 MySQL 的 root 用户密码为 123456
  8. -e MYSQL_ROOT_HOST=%:设置环境变量,指定 MySQL 的 root 用户允许从任何主机连接。
  9. -v /usr/local/mysql/log:/var/log/mysql:挂载宿主机的 /usr/local/mysql/log 目录到容器的 /var/log/mysql 目录,用于持久化 MySQL 的日志文件。
  10. -v /usr/local/mysql/data:/var/lib/mysql:挂载宿主机的 /usr/local/mysql/data 目录到容器的 /var/lib/mysql 目录,用于持久化 MySQL 的数据文件。
  11. -v /usr/local/mysql/conf:/etc/mysql/conf:挂载宿主机的 /usr/local/mysql/conf 目录到容器的 /etc/mysql/conf 目录,用于持久化 MySQL 的配置文件。
  12. -v /etc/localtime:/etc/localtime:ro:挂载宿主机的 /etc/localtime 文件到容器的 /etc/localtime 文件,用于同步宿主机的时间设置,ro 表示以只读方式挂载。
  13. -d :以分离模式(后台模式)运行容器
  14. mysql 是 Docker Hub 上的官方 MySQL 镜像名称,[:自己指定的版本]为可选项,不包含这个部分默认最新版本。


远程连接MySQL

主机为docker所部署在的虚拟机/服务器的IP地址,密码是mysql服务的密码,端口一般都是默认3306。

相关推荐
Sheffield14 小时前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield1 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽1 天前
win10下运行Start Broker and Proxy报错解决
docker
0xDevNull2 天前
MySQL索引进阶用法
后端·mysql
0xDevNull2 天前
MySQL索引用法
mysql
用户13573999256602 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
程序员小崔日记2 天前
一篇文章彻底搞懂 MySQL 和 Redis:原理、区别、项目用法全解析(建议收藏)
redis·mysql·项目实战
vi_h2 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔2 天前
通过 Docker 创建开发环境
docker·开发环境
武子康2 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql