在京东云服务器上安装 Docker 和 MySQL 是一个常见且实用的操作。以下是详细的步骤,帮助你在京东云的云服务器(如 CentOS 或 Ubuntu 系统)上安装 Docker 并运行 MySQL 容器。
✅ 前提条件
- 已经购买并登录京东云服务器(Linux 系统,如 CentOS 7+/Ubuntu 20.04+)。
- 通过 SSH 工具(如 Xshell、PuTTY、Terminal)连接到服务器。
- 具备
root或sudo权限。
第一步:安装 Docker
1. 更新系统包(以 Ubuntu 为例,CentOS 类似)
sudo apt update && sudo apt upgrade -y
如果是 CentOS:
sudo yum update -y
2. 安装依赖包
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
CentOS 用户:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3. 添加 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
4. 添加 Docker 仓库
echo "deb [arch=amd64 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
5. 安装 Docker
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
6. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
7. 验证安装
docker --version
sudo docker run hello-world
如果看到欢迎信息,说明 Docker 安装成功。
第二步:使用 Docker 安装并运行 MySQL
1. 拉取 MySQL 镜像(以 MySQL 8.0 为例)
sudo docker pull mysql:8.0
可替换为
mysql:5.7等版本。
2. 创建本地目录用于数据持久化(推荐)
sudo mkdir -p /mydata/mysql/data /mydata/mysql/conf /mydata/mysql/logs
3. 创建并运行 MySQL 容器
sudo 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/logs:/var/log/mysql
--restart=unless-stopped
mysql:8.0
参数说明:
--name mysql:容器名称。-p 3306:3306:映射主机 3306 端口到容器。-e MYSQL_ROOT_PASSWORD=...:设置 root 用户密码(请修改为你自己的强密码)。-v:挂载数据卷,确保数据不丢失。--restart=unless-stopped:开机自启容器。mysql:8.0:使用的镜像。
4. 检查容器是否运行
sudo docker ps
看到 mysql 容器处于 Up 状态即可。
第三步:配置远程访问(可选)
1. 登录 MySQL 容器
sudo docker exec -it mysql mysql -u root -p
输入你设置的密码。
2. 允许 root 远程登录(可选,注意安全)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
如果连接失败,确保 MySQL 配置允许远程连接。
3. 配置防火墙(京东云安全组)
- 登录 京东云控制台。
- 找到你的云服务器实例。
- 进入「安全组」配置,添加规则:
- 协议类型:TCP
- 端口:3306
- 源 IP:
0.0.0.0/0(或限制为你的 IP,更安全)
第四步:测试连接
你可以使用以下方式连接:
- 本地 Navicat / DBeaver 等工具,使用公网 IP + 3306 端口连接。
- 命令行测试:
mysql -h 公网IP -P 3306 -u root -p
常见问题排查
| 问题 | 解决方法 |
|---|---|
| 3306 端口无法访问 | 检查京东云安全组是否放行 3306 |
| 容器启动失败 | 使用 docker logs mysql 查看日志 |
| 数据丢失 | 确保 -v 挂载了本地目录 |
| 远程连接拒绝 | 检查 MySQL 用户权限和 bind-address |
可选:配置 MySQL 配置文件(如 my.cnf)
编辑 /mydata/mysql/conf/my.cnf:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
max_connections=200
bind-address=0.0.0.0
然后重启容器:
sudo docker restart mysql
✅ 完成!你现在已经在京东云服务器上成功安装了 Docker 并运行了 MySQL。
如需进一步自动化,可以使用 docker-compose.yml 管理服务。需要我提供 docker-compose 版本吗?
秒懂云