root@localhost:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
# 卸载可能的旧版:
sudo apt remove -y docker docker-engine docker.io containerd runc
# 更新+安装:
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
#添加 Docker 官方软件源(支持 Ubuntu 24.04 noble)
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
# 安装 Docker
# 最后使用这个安装成功:
sudo apt update
sudo apt install -y docker.io docker-compose-plugin
# 设置为开机自启:
sudo systemctl enable --now docker
# 安装compose
sudo apt update
sudo apt install -y docker-compose-plugin
root@localhost:~# docker compose version
Docker Compose version v5.0.1
# 兼容旧命令(可选)
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
# 搞个mysql:
mkdir -p ~/mysql8
cd ~/mysql8
cat <<'EOF' > docker-compose.yml
services:
mysql:
image: mysql:8.0
container_name: mysql8
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root123456
MYSQL_DATABASE: appdb
MYSQL_USER: appuser
MYSQL_PASSWORD: appuser123
TZ: Asia/Shanghai
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
volumes:
- ./data:/var/lib/mysql
- ./conf:/etc/mysql/conf.d
EOF
docker compose up -d
docker compose ps
# 完事:
docker exec -it mysql8 mysql -uroot -p
Publication recorded · 2026-02-03 · Verify