Docker中Mysql容器无法停止无法删除问题

 更新时间:2023年03月07日 08:44:49   作者:余_小凡  
这篇文章主要介绍了Docker中Mysql容器无法停止无法删除问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Mysql容器无法停止无法删除问题

问题

mysql容器如法停止,无法删除,也无法连接。docker stop,docker kill等命令都无效。

处理办法:

1.停止所有的容器

docker stop 容器Id

2.强制移除此容器

docker rm -f 容器id

3.清理此容器的网络占用

  • 格式:docker network disconnect --force 网络模式 容器名称 
  • 示例:docker network disconnect --force bridge 容器名

4.简查是否还有同名容器占用

  • 格式:docker network inspect 网络模式
  • 示例:docker network inspect bridge

5.重新构建容器

示例1

docker run --name mysql --restart=always \
    -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
    -v /home/mysql/data:/var/lib/mysql \
    -p 3317:3306 \
    -e MYSQL_ROOT_PASSWORD="root" \
    -e TZ=Asia/Shanghai \ 

示例2

docker run --name mysql 
-v /data/mysql-data:/var/lib/mysql 
-p 33306:3306 
-e MYSQL_ROOT_PASSWORD=guest-root 
mysql:latest

启动报错:

Different lower_case_table_names settings for server ('0') and data dictiona

原因

mysql8.x版本修改区分的大小写的配置

解决方法

1、在my.cnf配置文件[mysqld]下添加

[mysqld]
 
lower_case_table_names=1

 2、docker启动mysql修改配置  添加 --lower-case-table-names=1 :

docker run --name mysql --restart=always \
    -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
    -v /home/mysql/data:/var/lib/mysql \
    -p 3317:3306 \
    -e MYSQL_ROOT_PASSWORD="root" \
    -e TZ=Asia/Shanghai \
    -d mysql:8.0 --lower-case-table-names=1

Docker中Mysql的使用

拉取MySQL镜像

# docker pull mysql:8.0.4
docker pull mysql:5.7.5

创建可挂载磁盘目录

mkdir -p /docker/mysql
chmod -R 777 /docker/mysql

运行MySQL容器

 docker run --name mysql \
-p 3306:3306 \
-v /docker/mysql/data:/var/lib/mysql \
-v /docker/mysql/log:/var/log/mysql \
-v /docker/mysql/conf.d:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.5

查看docker容器的运行状态:

docker ps  # 查看运行中的容器
docker ps -a # 查看所有容器的状态

停止容器

docker stop CONTAINER ID

运行已经停止的容器

docker start CONTAINER ID

删除容器

docker rm CONTAINER ID

强制删除运行中的容器

docker rm  CONTAINER ID -f

删除所有已停止的容器(display all container ID)

docker rm $(docker ps -a -q)

在这里插入图片描述

查看镜像详情

docker image inspect IMAGE [IMAGE..]

在这里插入图片描述

查看历史镜像

docker image history 【OPTIONS】IMAGE
docker history 【OPTIONS】IMAGE

修改镜像名称和标签

docker tag source_IMAGE【:TAG】 TARGET_IMAGE【:TAG】

进入MySQL容器

docker exec -it mysql /bin/bash

使用MySQL命令行工具连接MySQL

mysql -h localhost -u root -p

输入密码

修改root账户的认证模式

Alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

验证外部连接

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于docker搭建redis-sentinel集群的方法示例

    基于docker搭建redis-sentinel集群的方法示例

    这篇文章主要介绍了基于docker搭建redis-sentinel集群的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • Docker中如何通过docker-compose部署ELK

    Docker中如何通过docker-compose部署ELK

    Docker Compose适用于不同的操作系统和云平台,这篇文章主要介绍了Docker中如何通过docker-compose部署ELK,需要的朋友可以参考下
    2024-05-05
  • docker 运行花生壳实现内外网穿透的详细过程

    docker 运行花生壳实现内外网穿透的详细过程

    这篇文章主要介绍了docker 运行花生壳实现内外网穿透,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 物理机与启动的Docker容器间的目录映射方式

    物理机与启动的Docker容器间的目录映射方式

    这篇文章主要介绍了物理机与启动的Docker容器间的目录映射方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 如何使用 docker 搭建一个 mysql 服务

    如何使用 docker 搭建一个 mysql 服务

    这篇文章主要介绍了如何使用 docker 搭建一个mysql服务,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Docker镜像分层的实现示例

    Docker镜像分层的实现示例

    本文主要介绍了Docker镜像分层的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • docker 查询或获取私有仓库(registry)中的镜像的方法

    docker 查询或获取私有仓库(registry)中的镜像的方法

    这篇文章主要介绍了docker 查询或获取私有仓库(registry)中的镜像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 镜像仓库 Harbor搭建和使用教程

    镜像仓库 Harbor搭建和使用教程

    本文给大家介绍镜像仓库 Harbor搭建和使用教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-01-01
  • 容器化技术架构jenkins docker k8s脚本浅析

    容器化技术架构jenkins docker k8s脚本浅析

    本篇博文不是详细介绍容器技术的,而是具体的实践。此篇博文分为两个阶段,分别是ci,cd。包含三部分内容,分别是jenkins,docker,k8s的脚本浅析
    2022-03-03
  • 使用Docker搭建Java环境的步骤方法

    使用Docker搭建Java环境的步骤方法

    本篇文章主要介绍了使用Docker搭建Java环境的步骤方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论