使用国内镜像源,从华为云源拉取镜像:
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/yeelabs/yearning:v3.1.9
将镜像重新打上官方标签
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/yeelabs/yearning:v3.1.9 yeelabs/yearning:v3.1.9
查看镜像
docker images | grep yearning
安装mysql容器
Yearning 官方要求 MySQL 版本不低于 5.7 ,且数据库字符集必须为 utf8mb4
# 优先从国内源拉取(如果网络通畅,也可直接用 docker pull mysql:8.0)
docker pull registry.cn-hangzhou.aliyuncs.com/library/mysql:8.0
docker tag registry.cn-hangzhou.aliyuncs.com/library/mysql:8.0 mysql:8.0
MySQL 容器一旦被删除,容器内的数据也会随之丢失。必须通过挂载(volume 或绑定挂载)将数据目录持久化到宿主机上,这是在生产环境使用 Docker 运行 MySQL 最重要的前提。
sudo mkdir -p /docker/mysql/{data,conf,logs}
-
data:存放实际的数据库文件,挂载到容器的/var/lib/mysql。 -
conf:存放自定义的my.cnf配置文件,挂载到容器的/etc/mysql/conf.d。 -
logs:存放错误日志等,方便排查问题。
启动 MySQL 容器
docker run -d \
--name mysql \
--restart=unless-stopped \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD='your_strong_root_password' \
-v /docker/mysql/data:/var/lib/mysql \
-v /docker/mysql/conf:/etc/mysql/conf.d \
-v /docker/mysql/logs:/var/log/mysql \
mysql:8.0 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
容器启动后,建议先在 MySQL 服务器上验证一下服务是否正常
查看容器状态,确认 STATUS 为 Up
docker ps | grep mysql
查看启动日志(如有异常,这里会有线索)
docker logs mysql
进入容器内的 MySQL 客户端进行连接测试
docker exec -it mysql mysql -uroot -p
与 Yearning 衔接:创建专用库和用户
-- 1. 创建 Yearning 专用数据库,字符集必须为 utf8mb4
CREATE DATABASE IF NOT EXISTS yearning
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
-- 2. 创建用户并授权,来源限定为 Yearning 服务器 IP
CREATE USER IF NOT EXISTS 'root'@'127.0.0.1' IDENTIFIED BY 'mysql_pwd';
GRANT ALL PRIVILEGES ON yearning.* TO 'sscs'@'127.0.0.1';
FLUSH PRIVILEGES;
启动yearning容器
docker run --name yearning -itd -h yearning-server \
-e MYSQL_ADDR=127.0.0.1:3306 \
-e MYSQL_DB=yearning \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=' mysql_pwd**' \
-e Y_LANG=zh_CN \
-p 18000:8000 \
yeelabs/yearning:latest**