【Docker 基础教程】Mysql主从服务搭建------Mysql容器闪退及容器名冲突系列问题

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 【Docker 基础教程】Mysql主从服务搭建------Mysql容器闪退及容器名冲突系列问题

前言


分享一下Docker安装Mysql镜像后容器实例无法正常启动的解决方案,大家可以先看问题描述,如果一样的话再看解决方案,如果不一样的话解决方案对你也没有什么意义。


问题描述


5.7以上版本不知道root用户密码


Mysql5.7版本以上,刚刚安装mysql的时候系统会给root用户生成一个随机密码,不知道的话登不进去系统。可以通过查看配置文件查看到初始密码,并设置一下将其改为自己想要的。


容器启动之后闪退


容器启动(看似成功)


8b777604cf0748a5a18eae9650db3fc0.png

实际查看(什么也没有)


f5dcf08f40a7456b9310912056901b99.png


容器名冲突


报错效果如图(原因是之前起过一个这样的实例,虽然原来的容器停止了但是原来的容器并没有清除掉),再次想以该名字命名时会发生冲突,可以使用rm 容器ID删除掉,为什么这么简单的问题也要说一说呢?接着往下看


71ce1c38418f432fab641e66fa9b8780.png


一个两个容器使用rm 容器ID还可以 ,同样操作方式清满满的两屏应该有点力不从心吧,如何一键清掉所有不用的镜像请看解决方案中对应的部分


1b1df3fc6d144742a4654b2977807ebf.png

cc131a134b5a4cc68227207d8cf6394c.png


解决方案


5.7以上版本不知道root用户密码


查看原始密码

grep "password" /var/log/mysqld.log


mysql -uroot -p
输入密码(最好直接粘贴,不要带多余的空格)


修改密码


# 由于mysql对用户密码安全系数要求较高这两个是为了降低用户密码安全等级(练习的时候可以用,工业生产中千万别用)
set global validate_password_policy=0;
set global validate_password_length=1;
# 将root用户密码修改为root
set password for root@localhost = password ('root')

容器启动之后闪退


原因:

我的虚拟机系统是centos7.5的版本,Centos7的安全Selinux禁止了一些安全权限

导致挂载信息时出现权限不足,网上查询资料之后给出了如下3种

解决方案:

1.在docker run中加入 --privileged=true 给容器加上特定权限(强烈推荐)

2.关闭selinux

3.在selinux添加规则,修改挂载目录的特定权限


容器名冲突


docker rm $(docker ps -a -q)该指令可以直接清除所有不在运行的容器

另外拓展一下其他的指令


杀死所有正在运行的容器


docker kill $(docker ps -a -q)


删除所有已经停止的容器


docker rm $(docker ps -a -q)



删除所有未打 dangling 标签的镜像


docker rmi $(docker images -q -f dangling=true)


删除所有镜像


docker rmi $(docker images -q)


强制删除镜像名称中包含“doss-api”的镜像


docker rmi --force $(docker images | grep doss-api | awk '{print $3}')


删除所有未使用数据


docker system prune


只删除未使用的volumes


docker volume prune
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
关系型数据库 MySQL Docker
|
28天前
|
Ubuntu Linux Docker
Docker容器的实战讲解
这只是Docker的冰山一角,但是我希望这个简单的例子能帮助你理解Docker的基本概念和使用方法。Docker是一个强大的工具,它可以帮助你更有效地开发、部署和运行应用。
101 27
|
2月前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
125 16
|
2月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
156 30
|
2月前
|
存储 虚拟化 Docker
|
2月前
|
存储 开发工具 开发者
揭秘 Microsoft.Docker.SDK:让容器开发更轻松的强大工具揭秘
随着云计算和容器技术的快速发展,`Docker` 已经成为容器化技术的事实标准。`Microsoft` 作为 `Docker` 的主要支持者和参与者,推出了 `Microsoft.Docker.SDK`,旨在帮助开发者更轻松地进行容器开发。本文将深入揭秘 Microsoft.Docker.SDK 的功能、使用方法以及它在容器开发中的应用。
103 12
|
2月前
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
|
3月前
|
NoSQL MongoDB 数据库
使用 docker 快速搭建开发环境的 mongodb 服务
本指南介绍如何使用 Docker 和 Docker Compose 部署 MongoDB 和 Mongo Express。首先,通过 Docker 命令分别启动 MongoDB(镜像 `mongo:7.0.14`)和 Mongo Express(镜像 `mongo-express:1.0.2-20-alpine3.19`),并配置环境变量确保两者能正确连接。接着,提供了一个 `docker-compose.yaml` 文件示例,包含 MongoDB 数据卷、健康检查及服务依赖配置,简化多容器管理。
392 2
|
19天前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
2月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库