用docker安装mysql,启动容器后,mysql没有启动

1、安装

docker run -it -p 3306:3306 --name mysql1 -v ~/mysql/conf/my.cnf:/etc/mysql/my.cnf -v ~/mysql/logs:/logs -v ~/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql /bin/bash

2、容器启动

https://img4.mukewang.com/5b950e770001cd2608000060.jpg

3、用attach进入容器后没有看到mysql的进程

https://img1.mukewang.com/5b950e7f0001cad906830071.jpg


白板的微信
浏览 10793回答 2
2回答

千万里不及你

1.说明你mysql没有启动,因为你后面的/bin/bash已经暴露问题了。2.试一试这样启动$docker run -d mysql $docker exec -it $container_id /bin/bash问题的原因,可以看看官方对CMD 和 entrypoint指令得描述,你就懂了。如下是我测试效果#1.模拟你得效果,这里不会报错,是因为没有执行mysqld进行初始化,bash已经覆盖了指令docker@default:~$ docker run -it mysql bashroot@8b767c162afd:/# ps -aux | grep mysqlroot         7  0.0  0.0  11128   984 ?        S+   03:04   0:00 grep mysql#2.报错,因为没有加-e环境参数,说明mysqld执行了初始化,未找到环境变量docker@default:~$ docker run -d mysql9212525aedf8f5586548fbc1d1e4fa130fd0ce294ac03c2d00a1c1d9945455a5docker@default:~$ docker exec -it 92 bashError response from daemon: Container 9212525aedf8f5586548fbc1d1e4fa130fd0ce294ac03c2d00a1c1d9945455a5 is not running                                   mysql-dbdocker@default:~$ docker logs 92error: database is uninitialized and password option is not specified  You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORDdocker@default:~$
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL