本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!logo
Percona Server是MySQL的增强型替代品,可提升查询速度和一致性,帮助在高性能硬件上整合服务器,延迟或避免分片。本镜像由Percona团队官方创建和维护,已启用基于Percona分形树的存储引擎TokuDB。
镜像会在新版本发布时更新。
通过以下命令启动Percona Server容器:
docker run --name container-name -e MYSQL_ROOT_PASSWORD=secret -d percona/percona-server:tag
参数说明:
container-name:容器名称secret:root用户密码tag:指定版本标签(如8.0),完整标签列表见官方标签页本镜像暴露标准MySQL端口(3306),可通过容器链接使其他容器访问:
docker run --name app-container-name --link container-name -d app-that-uses-mysql
启动另一个容器并运行mysql客户端连接数据库:
docker run -it --link container-name --rm percona/percona-server:tag mysql -h container-name -P 3306 -uroot -psecret
启动容器时,可通过环境变量调整配置(仅首次初始化数据库时生效,已有数据目录时变量不生效)。必须指定以下变量之一:MYSQL_ROOT_PASSWORD、MYSQL_ALLOW_EMPTY_PASSWORD、MYSQL_RANDOM_ROOT_PASSWORD。
MYSQL_ROOT_PASSWORD设置root超级用户密码。注意:命令行设置密码不安全。
MYSQL_ROOT_PASSWORD_FILE从文件读取root密码,可用于挂载文件或Docker Secrets(Swarm模式)。
MYSQL_RANDOM_ROOT_PASSWORD设为yes时生成随机root密码,通过docker logs container-name查看。
MYSQL_ONETIME_PASSWORD设为yes时root密码过期,需首次登录后修改(仅5.6及以上版本支持)。
MYSQL_DATABASE可选,指定启动时创建的数据库名称。若同时提供MYSQL_USER和MYSQL_PASSWORD,该用户将获得此数据库的全部权限。
MYSQL_USER、MYSQL_PASSWORD可选,创建新用户并设置密码,该用户将获得MYSQL_DATABASE指定数据库的全部权限。两者需同时提供。
MYSQL_ALLOW_EMPTY_PASSWORD设为yes允许root空密码。不推荐,会导致实例完全不受保护。
INIT_TOKUDB设为1启用TokuDB引擎。
INIT_ROCKSDB设为1启用RocksDB引擎。
MYSQL_INIT_ONLY设为1仅执行初始化,不启动mysqld进程。
不建议使用MYSQL_ROOT_PASSWORD在命令行设置密码,推荐使用MYSQL_RANDOM_ROOT_PASSWORD生成随机密码,5.6及以上版本可配合MYSQL_ONETIME_PASSWORD增强安全性。
推荐将数据存储在主机目录并挂载到容器,避免Docker内置存储性能问题:
/local/datadir)docker run --name container-name -v /local/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -d percona/percona-server:tag
SELinux系统需设置目录权限:
chcon -Rt svirt_sandbox_file_t /local/datadir
若数据目录已包含数据库(存在mysql子目录),启动时不应指定MYSQL_ROOT_PASSWORD。
通过-p映射容器端口到主机,便于外部访问:
docker run --name container-name -p 6603:3306 -d percona/percona-server mysql -h docker_host_ip -P 6603
可在启动命令后追加服务器参数:
docker run --name my-container-name -d percona/percona-server --character-set-server=utf8 --collation-server=utf8_general_ci
默认配置文件为/etc/my.cnf,可挂载自定义文件替换:
docker exec -it my-container-name cat /etc/my.cnf > /my/custom/config-file
docker run --name my-new-container-name -v /my/custom/config-file:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=my-secret-pw -d percona/percona-server:tag
官方支持Docker 1.9版本,旧版本(低至1.0)尽力支持,建议使用最新版。
欢迎反馈!
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429