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 场景

相关推荐
沫璃染墨1 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
是枚小菜鸡儿吖2 小时前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
AI_Lab013 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
by209993 小时前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
星恒随风3 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
螺蛳粉 螺蛳粉5 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
wefg16 小时前
【Docker】镜像相关指令
运维·docker·容器
feng_you_ying_li6 小时前
linux之网络层
linux·运维·网络
未来之窗软件服务6 小时前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
小雉系统6 小时前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian