在京东云上使用 Docker 安装 MySQL,可以分为以下几个步骤:准备京东云服务器、安装 Docker、拉取 MySQL 镜像并运行容器。以下是详细的操作流程:
✅ 第一步:购买并登录京东云云服务器(CVM)
- 登录 京东云控制台。
- 购买一台云服务器(建议选择 CentOS 7/8 或 Ubuntu 20.04+ 系统)。
- 获取公网 IP 地址,并使用 SSH 登录服务器:
ssh root@你的公网IP
✅ 第二步:安装 Docker
1. 更新系统包(以 CentOS 为例)
sudo yum update -y
2. 安装必要的依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3. 添加 Docker 官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果网络较慢,可使用国内镜像源(如阿里云):
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4. 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
6. 验证安装
docker --version
✅ 第三步:使用 Docker 安装并运行 MySQL
1. 拉取 MySQL 镜像(以 MySQL 8.0 为例)
docker pull mysql:8.0
也可以选择
mysql:5.7,根据需求选择版本。
2. 创建本地目录用于持久化数据
mkdir -p /data/mysql/{conf,data}
/data/mysql/data:存储 MySQL 数据/data/mysql/conf:可存放自定义配置文件(如 my.cnf)
3. 运行 MySQL 容器
docker run -d
--name mysql
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=YourStrongPassword123
-v /data/mysql/data:/var/lib/mysql
-v /data/mysql/conf:/etc/mysql/conf.d
--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
如果看到 mysql 容器处于 Up 状态,说明启动成功。
✅ 第四步:配置安全组(重要!)
- 登录京东云控制台。
- 找到你的云服务器实例。
- 进入 安全组规则,添加入站规则:
| 协议 | 端口 | 源 IP | 说明 |
|---|---|---|---|
| TCP | 3306 | 0.0.0.0/0 | 允许远程连接 |
⚠️ 注意:开放 3306 给所有人有安全风险,建议限制为特定 IP(如你的办公 IP)。
✅ 第五步:连接 MySQL
方式 1:本地连接(进入容器)
docker exec -it mysql mysql -uroot -p
输入密码后即可进入 MySQL 命令行。
方式 2:远程连接(使用 Navicat、DBeaver 等工具)
- 主机:你的京东云公网 IP
- 端口:3306
- 用户名:root
- 密码:你设置的
MYSQL_ROOT_PASSWORD
⚠️ 注意:MySQL 8 默认使用
caching_sha2_password插件,部分客户端可能不兼容。可进入容器修改认证方式(如需要):
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'YourStrongPassword123';
FLUSH PRIVILEGES;
✅ 可选:配置远程访问权限
默认情况下,MySQL root 用户可能不允许远程登录。进入容器执行:
docker exec -it mysql mysql -uroot -p
然后执行:
-- 允许 root 从任意主机登录(生产环境不推荐)
CREATE USER 'root'@'%' IDENTIFIED BY 'YourStrongPassword123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'YourStrongPassword123';
FLUSH PRIVILEGES;
✅ 总结
通过以上步骤,你已在京东云服务器上使用 Docker 成功部署了 MySQL,具备数据持久化、开机自启和远程访问能力。
🔐 安全建议
- 使用强密码
- 限制安全组只允许信任 IP 访问 3306
- 定期备份
/data/mysql/data目录 - 考虑使用京东云 RDS(更稳定、安全)
如有需要,我也可以提供一键部署脚本或 docker-compose.yml 配置文件。需要吗?
秒懂云