在虚拟机docker启动mysql但是宿主机无法访问的问题

在DockerHub官网查看mysql启动的命令,发现都没有指定端口映射,于是我模仿着执行的命令如下:

docker run --name testmysql -e MYSQL_ROOT_PASSWORD=root -v /tmp/mysql/conf:/etc/mysql/conf.d -v /tmp/mysql/data:/var/lib/mysql -d mysql:5.7.25

没有指定容器端口映射的情况下,外部是无法通过ip+端口来访问容器的,需要加上端口映射,调整后的代码如下:

docker run --name testmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /tmp/mysql/conf:/etc/mysql/conf.d -v /tmp/mysql/data:/var/lib/mysql -d mysql:5.7.25

增加了 -p 3306:3306之后,就可以通过ip+端口访问容器了。

反思:刚学习docker,有点盲目信任权威了,总觉得官方写得demo就是一定符合自己需求的,其实不然。在这个小问题上浪费个把小时,实属不应该。

你可能感兴趣的:(随笔,mysql,docker,数据库)