第二章、搭建 MySQL 服务器
本节课我们先学习使用 Docker 来搭建一个 MySQL 数据库服务器,然后再来深入了解 Docker 的操作。
要使用 Docker 我们需要理解 仓库、镜像 和 容器 三个概念.
Docker 的三大核心概念
- 镜像:镜像是包含容器运行所需的文件系统和配置信息的集合,Docker的镜像是只读的。镜像你可以理解成虚拟机的镜像或一台笔记本电脑的硬盘,开机即可启动的硬盘。
- 仓库:使用来存储、分发和管理镜像的地方。方便分布式系统分发镜像。
- 容器:容器是运行在隔离环境中的容器主进程及其子进程。容器是镜像运行的实例,一个镜像可以运行成为多个容器。你可以理解成已经开机并运行了一个进程的电脑。
要搭建 MySQL 服务器,我们需要先有一个别人做好的 MySQL 镜像,然后再启动这个镜像,让其成为容器即可。
实验步骤如下:
- 获取 MySQL 镜像。
- 使用 镜像搭建 MySQL 服务(容器)。
- 在宿主机使用 MySQL 客户端连接服务器。
1. 获取 MySQL 镜像
获取镜像有两种方法:
- 从远程仓库中下载镜像。
- 从本地文件中导入镜像。
如果同学们第一种方法失败可以尝试使用第二种方法。
1. 从远程仓库中下载镜像
使用 docker pull 命令可以从远程仓库中下载名为 mysql,标签为 latest 的镜像。命令如下:
sudo docker pull docker.io/library/mysql:latest
查看镜像是否下载成功。命令和结果如下:
weimingze@mzstudio:~$ sudo docker images
[sudo] password for weimingze:
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest edbdd97bf78b 2 months ago 859MB
上面如果出现了 mysql 这一行,说明 mysql 镜像下载成功。不成功则看不到镜像,如下所示:
weimingze@mzstudio:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
目前为了安全,目前 docker pull 命令无法访问国外的 Docker 的镜像仓库("https://registry-1.docker.io/),如果非要访问需要非常规手段。
因国家强制要求国内的 Docker 镜像仓库必须保证所有的镜像都是安全的。因此国内的 Docker 镜像源服务器也相继停止服务。
截止到今天 2025年6月17日,国内的 Docker 镜像仓库都无法访问,因此我们需要使用 从本地文件中导入镜像 的方法来安装 mysql 镜像。
2. 从本地文件中导入镜像
先从百度网盘下载 镜像压缩包。
百度网盘链接地址:https://pan.baidu.com/s/1U2CUtna3oq9NFkh8ewMzdg 提取码: 9gy6
找到 docker教程资料/mysql_docker镜像 文件夹下的 mysql9.3_images.tar.xz 并下载。然后使用 scp 命令复制到 Ubuntu24.04 操作系统内。
声明:
mysql9.3_images.tar.xz是官方下载的镜像,未经验证是否存在安全漏洞,只建议学习使用,商用后果自行承担。
执行 docker load 命令导入 mysql9.3_images.tar.xz 如下:
weimingze@mzstudio:~$ sudo docker load -i mysql9.3_images.tar.xz
[sudo] password for weimingze:
Loaded image: mysql:latest
导入前使用 docker images 命令查看全部镜像,如下:
weimingze@mzstudio:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
导入后查看全部镜像.
weimingze@mzstudio:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest edbdd97bf78b 2 months ago 859MB
可见镜像已经导入成功。