Ubuntu 22.04 安装 Docker

一、确认系统(你这个就是 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 场景

相关推荐
A星空12311 分钟前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
释怀不想释怀16 分钟前
Linux环境变量
linux·运维·服务器
zzzsde22 分钟前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
凡人叶枫33 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
yuanmenghao1 小时前
Linux 性能实战 | 第 7 篇 CPU 核心负载与调度器概念
linux·网络·性能优化·unix
qq_297574671 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
神筆&『馬良』2 小时前
Foundation_pose在自己的物体上复现指南:实现任意物体6D位姿检测(利用realsense_D435i和iphone_16pro手机)
目标检测·ubuntu·机器人·视觉检测
70asunflower2 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
神梦流2 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫2 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++