本次安装环境
Windows11(23H2),CPU(12代Intel)
什么是Docker
Docker 是一个软件平台,让您可以快速构建、测试和部署应用程序。Docker 将软件打包成名为容器的标准化单元,这些单元具有运行软件所需的所有功能,包括库、系统工具、代码和运行时。
WSL
WSL 指 “Windows Subsystem for Linux”,这是一个在 Windows 10\11 上能够运行原生 Linux 二进制可执行文件(ELF格式)的兼容层。一般Windows10开始Windows系统自带,没有的需要安装。Windows上有WSL并且正常运行才可以安装docker desktop并运行docker容器。
docker desktop的安装
什么是docker desktop
Docker Desktop是Docker的官方桌面应用程序,专为在Windows和Mac操作系统上使用而设计。它提供了一个简单、直观的方式来安装和使用Docker,让开发、运维人员可以轻松地构建、测试和运行Docker容器。
前置条件
Windows 用户需确保已启用 WSL 2 和 Hyper-V。
下载
官网地址:
Docker Desktop: The #1 Containerization Tool for Developers | Docker
选择合适的版本下载,这里选windows版本
安装包
安装
开始安装
双击exe开始安装
重启后
安装完后系统需要重启,重启后是如下界面,直接Accept
配置
选择默认还是自定义配置,直接Finish
选择身份-skip
选择角色-skip
安装完成
一路skip到主界面,启动docker desktop的同时,启动了WSL。
查看docker版本
或者cmd命令行
配置中国镜像
配置中国镜像可以加快镜像的下载速度
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": ["https://docker.hpcloud.cloud", "https://docker.m.daocloud.io", "https://docker.unsee.tech", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn", "https://docker.chenby.cn", "http://mirror.azure.cn", "https://dockerpull.org", "https://dockerhub.icu", "https://hub.rat.dev"]
}
docker desktop的使用
Docker Hub
Docker Hub (Docker市场)是 Docker 官方提供的公共镜像仓库,允许用户存储、管理和共享镜像。
查找镜像
查找一个mysql的镜像
镜像详情
点击选中的镜像,进入详情页
拉取镜像 - Pull
Images
Images(镜像菜单)里可以看到下载过的镜像,运行的镜像前面圆点为绿色,未运行的为灰色。
查看镜像
运行镜像
创建容器
点击运行按钮,运行镜像,创建容器
配置容器参数
参数根据实际情况进行配置
Containers
Containers(容器菜单),镜像运行完之后,会在Containers生成一个容器,运行镜像服务。
查看启动服务
服务日志
Terminal
终端,可以在终端直接运行docker命令,对镜像和容器直接进行操作。
命令拉取运行mysql
docker run -d --name mysql `
-e MYSQL_ROOT_PASSWORD=123456 `
-p 3306:3306 `
-v H:\dockers\mysql\data:/var/lib/mysql `
-v H:\dockers\mysql\conf:/etc/mysql/conf.d `
-v H:\dockers\mysql\log:/var/log/mysql `
mysql:latest
目录结构
my.cnf文件
[mysqld]
# 服务器监听的 IP 地址,0.0.0.0 表示监听所有可用的 IP 地址
bind-address = 0.0.0.0
# 服务器监听的端口,默认是 3306
port = 3306
# 字符集设置,建议使用 utf8mb4 以支持更广泛的字符
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 数据库文件存储路径,由于已经做了数据卷映射,这里保持默认即可
datadir = /var/lib/mysql
# 日志文件路径,由于已经做了数据卷映射,这里保持默认即可
log-error = /var/log/mysql/error.log
# 允许的最大连接数,根据实际需求调整
max_connections = 200
# 每个连接分配的缓冲区大小,根据实际需求调整
sort_buffer_size = 2M
# 查询缓存大小,从 MySQL 8.0 开始,查询缓存默认是禁用的
# query_cache_size = 64M
# 临时表最大大小,根据实际需求调整
tmp_table_size = 32M
# 线程缓存大小,根据实际需求调整
thread_cache_size = 8
# 设置 pid 文件路径,确保路径安全
pid-file = /var/run/mysqld/mysqld.pid
# 设置默认时区,根据实际情况调整
default-time-zone = '+08:00'
# 禁用 X Plugin
skip-x-plugin
[client]
# 客户端使用的字符集
default-character-set = utf8mb4
[mysql]
# 命令行工具使用的字符集
default-character-set = utf8mb4
连接数据库
验证数据库
#创建智慧校园库
CREATE DATABASE ai_school;
#进入智慧校园库
use ai_school;
#创建学生表
CREATE table student(id int ,names varchar(20),age int);
#新增数据
INSERT into student VALUES (1,"aa",18);
#查询学生表
SELECT * from student;
#新增数据
INSERT into student VALUES (2,"王五",19);
#查询学生表
SELECT * from student;