Docker 安装 Mysql 容器 (完整版)

本文详细介绍了如何使用Docker安装MySQL数据库,包括下载MySQL镜像、创建并运行MySQL容器、配置容器参数及验证MySQL运行状态的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。

Docker 镜像仓库

Docker 安装Mysql

1、寻找Mysql镜像

在Docker镜像仓库寻找Mysql镜像

寻找Mysql镜像

Docker 下载Mysql镜像的命令

下载Mysql命令

2、下载Mysql镜像

命令描述
docker pull mysql下载最新版Mysql镜像 (其实此命令就等同于 : docker pull mysql:latest )
docker pull mysql:xxx下载指定版本的Mysql镜像 (xxx指具体版本号)

下载最近版本Mysql镜像

检查当前所有Docker下载的镜像

docker images

3、创建Mysql容器并运行

Docker 创建Mysql容器

docker run \
--name mysql \
-d \
-p 3306:3306 \
--restart unless-stopped \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7
命令描述
docker run创建一个新的容器 , 同时运行这个容器
–name mysql启动容器的名字
-d后台运行
-p 3306:3306将容器的 3306 (后面那个) 端口映射到主机的 3306 (前面那个) 端口
–restart unless-stopped容器重启策略
-v /mydata/mysql/log:/var/log/mysql将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql将mysql储存文件夹挂载到主机
-v /mydata/mysql/conf:/etc/mysql将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root设置 root 用户的密码
mysql:5.7启动哪个版本的 mysql (本地镜像的版本)
\shell 命令换行符

注意 : 命令中所有 冒号 前面的是主机配置 , 冒号 后面的是mysql容器配置 。
–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器。

4、查看Mysql是否运行

### 查看Docker运行中的容器
docker ps  

查看Docker正在运行的容器

5、进入Mysql容器

## 通过Docker命令进入Mysql容器内部
docker exec -it mysql /bin/bash
## 或者
docker exec -it mysql bash

进入Mysql容器

### 创建并启动 MySQL 容器 要在 Linux 上使用 Docker 创建并启动 MySQL 容器,可以按照以下方式操作: #### 1. 搜索并拉取 MySQL 镜像 首先需要确认本地是否有可用的 MySQL 镜像。如果不存在,则可以通过 `docker pull` 命令下载官方镜像。 ```bash docker search mysql docker pull mysql:latest ``` 上述命令会搜索可用的 MySQL 镜像,并下载最新版本的镜像文件[^1]。 #### 2. 创建并运行 MySQL 容器 创建容器时需指定一些必要的参数,例如映射主机端口到容器内部端口、设置环境变量以及挂载数据卷等。 以下是完整的命令示例: ```bash docker run -d \ -p 3306:3306 \ -v /path/to/host/mysql/conf:/etc/mysql/conf.d \ -v /path/to/host/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=your_password_here \ --name my_mysql_container \ mysql:latest ``` - `-p 3306:3306`: 将宿主机的 3306 端口映射到容器内的 3306 端口。 - `-v /path/to/host/mysql/conf:/etc/mysql/conf.d`: 挂载配置文件目录至容器内 `/etc/mysql/conf.d` 路径下。 - `-v /path/to/host/mysql/data:/var/lib/mysql`: 数据持久化存储路径,将宿主机上的某个目录挂载到容器中的默认数据库存储位置。 - `-e MYSQL_ROOT_PASSWORD=your_password_here`: 设置 root 用户密码。 - `--name my_mysql_container`: 自定义容器名称以便管理。 - `mysql:latest`: 使用最新的 MySQL 镜像版本[^3]。 #### 3. 解决可能遇到的问题 如果在启动过程中出现问题,比如容器无法正常启动,可能是由于 SELinux 权限限制或其他原因引起的。此时可尝试如下解决方案: - **临时关闭 SELinux** 执行以下命令来临时禁用 SELinux: ```bash setenforce 0 ``` - **永久修改 SELinux 配置** 编辑 `/etc/selinux/config` 文件并将其中的内容改为: ```bash sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config ``` 修改完成后需要重启系统才能生效[^2]。 重新执行 `docker start my_mysql_container` 并验证状态是否恢复正常。 --- ### 示例代码片段 下面是一个简单的脚本用于自动化部署过程: ```bash #!/bin/bash # Step 1: Pull the latest MySQL image echo "Pulling the latest MySQL image..." docker pull mysql:latest # Step 2: Run a new container with specified configurations echo "Starting MySQL container..." docker run -d \ --name=my_mysql_container \ -p 3306:3306 \ -v $(pwd)/conf:/etc/mysql/conf.d \ -v $(pwd)/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=securepassword \ mysql:latest # Step 3: Verify that the container is running echo "Verifying container status..." docker ps | grep my_mysql_container ``` 此脚本能够自动完成镜像拉取、容器创建及基本校验工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐米多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值