刚玩 docker 不久, 搞不明白什么情况
拉镜像启动了个容器. 80 可以访问, 3306 却连不上
试过 localhost 127.0.0.1 172.17.0.1 都不行
在容器内使用 mysql 连接或者 phpmyadmin 都正常.
yuxiaobo@yuxiaobo-PC:~/Desktop$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b367eab7d585 mattrayner/lamp:latest "/run.sh" 7 days ago Up 2 days 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp lamp
也试过另外一个镜像, 结果都是宿主机连不上.
求大佬解惑
不喜欢 mysql 命令行和 phpmyadmin....
1
gjquoiai 2019-05-11 11:08:03 +08:00
那么问题来了,你没用命令行和 gui 是怎么知道 mysql 连不上的?
|
2
lxy42 2019-05-11 11:25:02 +08:00 via Android
我猜是 MySQL 设置为只能 localhost 访问,修改配置文件的 host 试试。
|
3
dilu 2019-05-11 12:40:07 +08:00 via Android
你先进入到容器里面连一下,如果能连上说明 mysql 没有开启允许远程连接,如果不能连上说明 mysql 没有启动 自己去看日志找原因
|
4
chwech 2019-05-11 13:21:51 +08:00 via iPhone
和你用一样的镜像,正在探索中
|
5
edk24 OP |
6
edk24 OP |
7
grantonzhuang 2019-05-11 17:49:44 +08:00 via Android
telnet 结果如何
|
8
megachweng 2019-05-11 17:59:08 +08:00 via iPhone
应该是 mysql 只监听了 127.0.0.1,或者没有配置数据库用户访问权限
|
9
HuHui 2019-05-11 18:16:09 +08:00 via Android
配置 启动命令发出来看看
|
10
HuHui 2019-05-11 18:30:35 +08:00 2
看文档描述啊
MySQL Databases By default, the image comes with a root MySQL account that has no password. This account is only available locally, i.e. within your application. It is not available from outside your docker image or through phpMyAdmin. When you first run the image you'll see a message showing your admin user's password. This user can be used locally and externally, either by connecting to your MySQL port (default 3306) and using a tool like MySQL Workbench or Sequel Pro, or through phpMyAdmin. If you need this login later, you can run docker logs CONTAINER_ID and you should see it at the top of the log. https://hub.docker.com/r/mattrayner/lamp |
12
Vanson 2019-07-24 17:39:15 +08:00
docker run --name=[容器名称] -p 8081:80 -p 3401:3306 -v [项目代码路径]:/app mattrayner/lamp:latest
|
13
edk24 OP @Vanson 谢谢, 这个镜像似乎是不许外部访问。 除非重新配置一波。 我在用另一个 lamp 镜像 tutum/lamp
|