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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 【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
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
29天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
242 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
13天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
21 1
|
20天前
|
负载均衡 应用服务中间件 网络安全
docker swarm添加更多的服务
【10月更文挑战第16天】
18 6
|
20天前
|
Docker 容器
docker swarm启动服务并连接到网络
【10月更文挑战第16天】
20 5
|
21天前
|
负载均衡 网络协议 关系型数据库
docker swarm 使用网络启动服务
【10月更文挑战第15天】
19 4
|
21天前
|
Docker 容器
docker swarm 在服务中使用网络
【10月更文挑战第14天】
17 2
|
1月前
|
安全 网络安全 数据安全/隐私保护
docker服务未启动
【10月更文挑战第2天】
54 3
|
1月前
|
Linux iOS开发 Docker
docker服务未启动
【10月更文挑战第3天】
61 1
|
1月前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
【10月更文挑战第1天】使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
57 3
|
1月前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库如何设置忽略表名大小写?
【10月更文挑战第1天】使用Docker部署的MySQL数据库如何设置忽略表名大小写?
123 1