在京东云服务器(如京东云云主机)上安装 Docker 和 MySQL 是一个常见的操作,以下是详细步骤,适用于基于 Linux(如 CentOS、Ubuntu)的系统。
✅ 第一步:登录京东云服务器
- 登录京东云控制台。
- 找到你的云服务器实例,获取公网 IP 地址。
- 使用 SSH 登录(如使用终端或 PuTTY):
ssh root@你的公网IP
✅ 第二步:安装 Docker
1. 更新系统包(以 CentOS 为例)
sudo yum update -y
如果是 Ubuntu,使用:
sudo apt update && sudo apt upgrade -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
Ubuntu 用户使用:
sudo apt install -y ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 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
4. 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
Ubuntu 用户使用:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
6. 验证安装
docker --version
✅ 第三步:使用 Docker 安装并运行 MySQL
1. 拉取 MySQL 镜像(以 MySQL 8.0 为例)
docker pull mysql:8.0
2. 创建本地目录用于数据持久化(可选但推荐)
mkdir -p /mydata/mysql/data /mydata/mysql/conf /mydata/mysql/log
3. 运行 MySQL 容器
docker run -d
--name mysql
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=your_password
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql/conf.d
-v /mydata/mysql/log:/var/log/mysql
--restart=unless-stopped
mysql:8.0
参数说明:
-d:后台运行--name mysql:容器名称-p 3306:3306:映射端口-e MYSQL_ROOT_PASSWORD=...:设置 root 密码(请修改为你自己的强密码)-v:挂载数据卷,实现数据持久化--restart=unless-stopped:开机自启容器
4. 查看容器运行状态
docker ps
应能看到 mysql 容器正在运行。
✅ 第四步:配置京东云安全组(重要!)
- 登录京东云控制台。
- 找到你的云服务器实例。
- 进入“安全组”配置。
- 添加入站规则,放行 3306 端口(TCP):
- 协议类型:TCP
- 端口:3306
- 源 IP:可以是
0.0.0.0/0(开放给所有)或你的 IP(更安全)
⚠️ 注意:开放 3306 端口有安全风险,建议限制访问 IP。
✅ 第五步:远程连接 MySQL(可选)
你可以使用 Navicat、DBeaver 或命令行连接:
mysql -h 你的京东云公网IP -u root -p
输入你在 MYSQL_ROOT_PASSWORD 中设置的密码。
注意:MySQL 8 默认使用
caching_sha2_password认证插件,某些旧客户端可能不兼容。如需兼容,可进入容器修改用户插件:
docker exec -it mysql mysql -u root -p
然后执行:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
✅ 可选:配置 MySQL 配置文件(如 my.cnf)
在 /mydata/mysql/conf/ 目录下创建 .cnf 文件,例如:
echo '[mysqld]
lower_case_table_names=1
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci' > /mydata/mysql/conf/my.cnf
重启容器生效:
docker restart mysql
✅ 常见问题排查
| 问题 | 解决方法 |
|---|---|
| 容器启动失败 | docker logs mysql 查看日志 |
| 无法远程连接 | 检查安全组、MySQL 用户权限、是否绑定 0.0.0.0 |
| 端口被占用 | netstat -tuln | grep 3306 查看占用进程 |
✅ 总结
你已经成功在京东云服务器上:
- 安装了 Docker
- 通过 Docker 部署了 MySQL
- 实现了数据持久化和远程访问
如需进一步使用 Docker Compose 管理,可以告诉我,我可以提供 docker-compose.yml 示例。
祝你部署顺利!🚀
云知道CLOUD