在京东云服务器上安装 Docker 和 MySQL 的步骤如下。我们将以 京东云的云主机(CVM) 为例,操作系统为 CentOS 7/8 或 Ubuntu 20.04,以 CentOS 7 为例进行演示。
✅ 第一步:登录京东云服务器
- 登录 京东云控制台
- 找到你的云服务器实例,获取公网 IP 地址。
- 使用 SSH 登录服务器:
ssh root@你的公网IP
✅ 第二步:安装 Docker
1. 更新系统包
sudo yum update -y
2. 安装必要的依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3. 添加 Docker 官方的 yum 仓库
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 CE
sudo yum install -y docker-ce docker-ce-cli containerd.io
5. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
6. 验证安装
docker --version
输出类似:Docker version 24.0.7, build ...
✅ 第三步:使用 Docker 安装并运行 MySQL
1. 拉取 MySQL 镜像(以 MySQL 8.0 为例)
docker pull mysql:8.0
你也可以选择
mysql:5.7,根据需要选择版本。
2. 创建本地目录用于数据持久化(可选但推荐)
mkdir -p /data/mysql/{conf,data,logs}
/data/mysql/data:存储数据库文件/data/mysql/conf:存放配置文件(如 my.cnf)/data/mysql/logs:日志文件
3. 运行 MySQL 容器
docker run -d
--name mysql
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=your_password
-v /data/mysql/data:/var/lib/mysql
-v /data/mysql/conf:/etc/mysql/conf.d
-v /data/mysql/logs:/logs
--restart=always
mysql:8.0
🔐 将
your_password替换为你自己的强密码。
参数说明:
-d:后台运行--name mysql:容器名称-p 3306:3306:映射主机 3306 端口到容器-e MYSQL_ROOT_PASSWORD=...:设置 root 用户密码-v:挂载数据卷,实现数据持久化--restart=always:开机自启容器
4. 检查容器是否运行
docker ps
你应该能看到 mysql 容器正在运行。
✅ 第四步:配置防火墙和安全组
1. 开放 3306 端口(防火墙)
如果你的系统开启了防火墙(firewalld):
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
2. 京东云安全组配置
登录京东云控制台:
- 进入 云主机 > 安全组
- 找到当前实例绑定的安全组
- 添加入站规则:
- 协议类型:TCP
- 端口:3306
- 源 IP:建议限制为你的 IP(如
1.2.3.4/32),不建议对 0.0.0.0/0 开放,以防被攻击
✅ 第五步:连接 MySQL
你可以使用客户端(如 Navicat、MySQL Workbench)或命令行连接:
mysql -h 你的公网IP -u root -p
输入你设置的密码即可连接。
✅ 常见问题
-
连接失败?
- 检查安全组是否开放 3306
- 检查服务器防火墙
- 检查 MySQL 容器是否正常运行:
docker logs mysql
-
修改 MySQL 配置?
- 在
/data/mysql/conf/下创建.cnf文件,如custom.cnf,Docker 会自动加载。
- 在
-
远程连接被拒绝?
- MySQL 8 默认只允许本地连接,可进入容器执行:
docker exec -it mysql mysql -u root -p然后执行:
CREATE USER 'root'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
- MySQL 8 默认只允许本地连接,可进入容器执行:
✅ 总结
| 步骤 | 内容 |
|---|---|
| 1 | 登录京东云服务器 |
| 2 | 安装 Docker |
| 3 | 拉取并运行 MySQL 容器 |
| 4 | 配置持久化和安全组 |
| 5 | 远程连接测试 |
如需更高级配置(如主从复制、Docker Compose 管理等),可进一步使用 docker-compose.yml 文件管理服务。
需要我提供 docker-compose.yml 示例吗?欢迎继续提问!
CDNK博客