开发者

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

开发者 https://www.devze.com 2023-03-08 09:00 出处:网络 作者: 余_小凡
目录mysql容器无法停止无法删除问题问题原因docker中Mysql的使用总结Mysql容器无法停止无法删除问题
目录
  • mysql容器无法停止无法删除问题
    • 问题
    • 原因
  • 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.重新构建容器

      示例javascript1

      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/li开发者_Mysqlb/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 /hojavascriptme/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 pujavascriptll 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/phpconf.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中Mysql容器无法停止无法删除问题

      查看镜像详情

      docker image inspect IMAGE [IMAGE..]

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

      查看历史镜像

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

      修改镜像名称和标签

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

      进入MySQL容器

      docker exec -ithttp://www.devze.com mysql /bin/bash

      使用MySQL命令行工具连接MySQL

      mysql -h localhost -u root -p

      输入密码

      修改root账户的认证模式

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

      验证外部连接

      总结

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

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号