docker中mysql容器无法停止无法删除问题-kb88凯时官网登录

来自:网络
时间:2023-05-17
阅读:
免费资源网 - https://freexyz.cn/
目录

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';

验证外部连接

总结

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

免费资源网 - https://freexyz.cn/
返回顶部
顶部
网站地图