在京东云服务器(如京东云的云主机 CVM)上安装 Docker 和 MySQL,可以按照以下步骤操作。本教程适用于基于 Linux 的系统(如 CentOS 或 Ubuntu)。
一、准备工作
-
登录京东云服务器
- 使用 SSH 登录你的京东云服务器:
ssh root@你的服务器公网IP - 确保你有 root 权限或 sudo 权限。
- 使用 SSH 登录你的京东云服务器:
-
更新系统包(推荐)
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS/RHEL sudo yum update -y
二、安装 Docker
1. 安装依赖包
# Ubuntu/Debian
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
# CentOS/RHEL
sudo yum install -y yum-utils curl
2. 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
注意:如果你是 CentOS,使用以下命令添加仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. 添加 Docker 仓库
# Ubuntu
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# CentOS(上面已添加 repo)
4. 安装 Docker Engine
# Ubuntu
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# CentOS
sudo yum install -y docker-ce docker-ce-cli containerd.io
5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
6. 验证安装
docker --version
7. (可选)将当前用户加入 docker 组,避免每次使用 sudo
sudo usermod -aG docker $USER
退出并重新登录 SSH 才能生效。
三、使用 Docker 安装并运行 MySQL
1. 拉取 MySQL 镜像(以 MySQL 8.0 为例)
docker pull mysql:8.0
2. 创建本地目录用于数据持久化
mkdir -p /data/mysql/{conf,data,logs}
3. 创建并运行 MySQL 容器
docker run -d
--name mysql
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=your_secure_password
-v /data/mysql/data:/var/lib/mysql
-v /data/mysql/conf:/etc/mysql/conf.d
-v /data/mysql/logs:/var/log/mysql
--restart unless-stopped
mysql:8.0
参数说明:
-d:后台运行--name mysql:容器名称-p 3306:3306:映射主机 3306 端口到容器-e MYSQL_ROOT_PASSWORD=...:设置 root 密码-v:挂载目录,实现数据持久化--restart unless-stopped:开机自启容器
4. 查看容器运行状态
docker ps
四、配置京东云安全组
- 登录 京东云控制台。
- 进入 云主机(CVM) 页面。
- 找到你的实例,点击进入详情。
- 在 安全组 中,添加入站规则:
- 协议类型:TCP
- 端口:3306
- 源 IP:如需远程访问,可设置为
0.0.0.0/0(不推荐生产环境),或指定你的 IP。
⚠️ 注意:开放 3306 端口存在安全风险,建议仅对可信 IP 开放,或通过 SSH 隧道连接。
五、连接 MySQL
1. 使用命令行连接(在服务器本地)
docker exec -it mysql mysql -uroot -p
2. 使用外部工具连接(如 Navicat、DBeaver)
- 主机:你的京东云服务器公网 IP
- 端口:3306
- 用户名:root
- 密码:你在
MYSQL_ROOT_PASSWORD中设置的密码
六、(可选)配置 MySQL 字符集
在 /data/mysql/conf/mysql.cnf 中添加:
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
然后重启容器:
docker restart mysql
常见问题排查
-
无法连接? 检查:
- 安全组是否放行 3306 端口
- 服务器防火墙(如
firewalld或ufw)是否关闭或配置 - MySQL 是否允许远程登录(默认只允许本地)
-
允许远程访问(进入容器执行):
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES;或启动时添加参数:
--command='--default-authentication-plugin=mysql_native_password'
✅ 完成!你现在已经在京东云服务器上通过 Docker 成功部署了 MySQL。
如需进一步优化,可考虑使用 docker-compose 管理服务。需要我提供 docker-compose.yml 示例吗?
云服务器