【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
相关文章
|
20天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
165 77
|
28天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
1天前
|
搜索推荐 安全 数据安全/隐私保护
7 个最能提高生产力的 Docker 容器
7 个最能提高生产力的 Docker 容器
60 35
|
19天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
99 26
|
6天前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
25 4
|
1月前
|
关系型数据库 MySQL Java
Servlet+MySQL增删改查 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/1391
对于任何项目开发,创建,读取,更新和删除(CRUD)记录操作是应用程序的一个最重要部分。
64 20
|
21天前
|
数据建模 应用服务中间件 nginx
docker替换宿主与容器的映射端口和文件路径
通过正确配置 Docker 的端口和文件路径映射,可以有效地管理容器化应用程序,确保其高效运行和数据持久性。在生产环境中,动态替换映射配置有助于灵活应对各种需求变化。以上方法和步骤提供了一种可靠且易于操作的方案,帮助您轻松管理 Docker 容器的端口和路径映射。
73 3
|
28天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
73 7
|
28天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
32 5
|
28天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
62 4