一、确认系统(你这个就是 Ubuntu 22.04)
plain
lsb_release -a
如果看到 22.04,下面命令可以直接照抄。
二、安装 Docker(官方方式,最稳)
1️⃣ 卸载可能存在的旧 Docker(一般没有,执行也没事)
plain
sudo apt remove -y docker docker-engine docker.io containerd runc
2️⃣ 安装依赖
plain
sudo apt update
sudo apt install -y \
ca-certificates \
curl \
gnupg \
lsb-release
3️⃣ 添加 Docker 官方 GPG Key
plain
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
4️⃣ 添加 Docker 官方仓库
plain
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5️⃣ 安装 Docker 引擎
plain
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
6️⃣ 启动 Docker 并设为开机自启
plain
sudo systemctl start docker
sudo systemctl enable docker
7️⃣ 验证 Docker 是否安装成功
plain
docker --version
看到类似:
plain
Docker version 26.x.x
说明 OK ✅
三、(强烈推荐)免 sudo 使用 docker
否则你每次都要打 sudo。
plain
sudo usermod -aG docker $USER
⚠️ 一定要重新登录一次服务器(退出 SSH 再连)
验证:
plain
docker ps
四、用 Docker 跑 MySQL 8(一步到位)
1️⃣ 拉取 MySQL 镜像
plain
docker pull mysql:8.0
2️⃣ 创建 MySQL 容器(推荐配置)
plain
docker run -d \
--name mysql8 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=test_db \
-e MYSQL_CHARSET=utf8mb4 \
-e MYSQL_COLLATION=utf8mb4_unicode_ci \
-v mysql_data:/var/lib/mysql \
--restart unless-stopped \
mysql:8.0
📌 说明:
- 数据持久化(
mysql_data) - 容器重启自动拉起
- 字符集直接 utf8mb4
- 非常适合 Spring Boot
3️⃣ 确认 MySQL 是否启动成功
plain
docker ps
看到 mysql8 就是成功了。
4️⃣ 进入 MySQL 容器
plain
docker exec -it mysql8 mysql -uroot -p
密码:123456
五、Spring Boot 连接配置示例(你肯定用得上)
plain
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/test_db?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8
username: root
password: 123456
六、如果你要远程连(Navicat / DBeaver)
确保:
plain
ss -lntp | grep 3306
如果有防火墙:
plain
sudo ufw allow 3306
七、你现在的服务器状态总结
✅ Docker 已安装✅ MySQL 通过 Docker 运行✅ 不污染系统✅ 随时可删除 / 重建✅ 完全符合你之前的 Spring Boot + MyBatis 场景