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 小时前
解决用 rm 报bash: /usr/bin/rm: Argument list too long错
linux·运维·运维开发
hj2862512 小时前
Linux 网络服务综合笔记(概念 + 命令 + 实操案例)2
linux·运维·网络
what_20182 小时前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
2739920293 小时前
GDB调试(Linux)
linux
ai产品老杨3 小时前
架构师深剖:基于 Docker 容器化与边缘计算的 AI 视频管理平台——支持 GB28181/RTSP 多协议接入与全源码交付
人工智能·docker·边缘计算
凡人叶枫3 小时前
Effective C++ 条款23:宁以 non-member、non-friend 替换 member 函数
linux·开发语言·c++·嵌入式开发
不会C语言的男孩3 小时前
Linux 系统编程 · 第 4 章:文件属性与元数据
linux·c语言·开发语言
小生不才yz4 小时前
Shell脚本精读 · S02-03 | 词拆分、通配符与未加引号的变量
linux
2601_961845424 小时前
法考真题及答案解析|历年真题|资料已整理
linux·windows·ubuntu·macos·centos·gnu
A_humble_scholar4 小时前
Linux(七)调度器:从硬件矛盾到进程切换的底层逻辑
linux·服务器·网络