docker 下的 mysql 重启 关闭不了

cat /proc/version 查看容器系统如下
Linux version 5.4.0-86-generic (buildd@lgw01-amd64-041) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #97-Ubuntu SMP Fri Sep 17 19:19:40 UTC 2021

请有docker相似经验的朋友解答一下,没有用过docker 的朋友..

直接拉的镜像
docker pull mysql
创建容器,进入容器,
mysql -u root -p 可以进入操作
但是 service mysql restart|start|stop 命令失效,提示如下:mysql: unrecognized service
service mysqld .也不行
service mysql.server start ,也不行

netstat -nltp 命令显示如下:
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp6       0      0 :::33060                :::*                    LISTEN      -                   
tcp6       0      0 :::3306                 :::*                    LISTEN      -   

容器内部关闭mysql的话 可以执行一下 /etc/init.d/mysql stop 但是执行完毕后mysql 会停止,你也会被提出容器.

容器内mysqld应该是主进程,关掉了容器就down了

service mysqld restart

容器启动的肯定在宿主机上用不了service命令 。你到容器里面试试,不过即使在容器里面如果你没挂system.d 到容器中 没有配 service init 文件也用不了。

先docker inspect然后看下他的Args的内容,一般会有启动的命令,那个命令就是mysql的服务命令

不用进入docker容器内部进行启动和关闭mysql的,直接操作就可以了
启动
docker start mysql
关闭
docker stop mysql
重启
docker restart mysql
我都是这样用的,上面的“mysql”是我mysql容器的名字,你换成你mysql容器的名字即可

img