1、背景:宿主机上有一个正在运行的mysql,端口号3306,我想在docker里面也启动个mysql容器,因为项目是要打包到docker上启动的
2、拉取镜像,我下载的8.0.26版本mysql
3、启动脚本:
docker run -it \
-p 3307:3306 \
--name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.26
4、根据上面的映射创建了对应的文件夹:
/mydata/mysql/log、/mydata/mysql/data、/mydata/mysql/conf
/var/log/mysql、/var/lib/mysql、/etc/mysql/conf.d
其中我还把conf.d这个文件设置了777权限
结果:执行了上面脚本后没有报错,查看容器时发现其闪退了!
[root@anonymous bin]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a90e8bf45a60 mysql:8.0.26 "docker-entrypoint.s…" 6 seconds ago Exited (1) 5 seconds ago mysql
2047f35b84b4 seataio/seata-server:1.4.2 "java -Djava.securit…" 19 hours ago Up 52 seconds 0.0.0.0:8091->8091/tcp, :::8091->8091/tcp seata-server
036c3cd0c524 nacos/nacos-server:2.0.3 "bin/docker-startup.…" 41 hours ago Up About a minute 0.0.0.0:8848->8848/tcp, :::8848->8848/tcp nacos
查看了mysql这个容器的日志,出现了以下内容:
[root@anonymous bin]# docker logs a90e8bf45a60
2022-12-04 07:54:29+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.26-1debian10 started.
2022-12-04 07:54:29+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.keWuuX7pAG
/usr/local/bin/docker-entrypoint.sh: line 92: mysqld: command not found
不知道该怎么解决。。。我的/usr/local/bin文件夹里面都是空的,没有docker-entrypoint.sh这个文件
###
我在网上查了很久都没有找到解决方法,有的甚至看不懂在说什么,折磨我两天了,求求大佬们帮助下我吧~~~
这篇实例的思路不知是否可以解决你的问题,看了一下和你的报错非常相似:docker start启动容器后闪退或者失败,
链接:http://www.zztongyun.com/article/mediaencoder2021%E5%8A%A0%E8%BD%BD%E5%90%8E%E9%97%AA%E9%80%80
我怀疑你安装的时候有些地方设置错了,
你重新安装下docker即可。