如何从另一台主机访问docker容器中的mysql?

时间:2017-02-27 05:22:25

标签: docker docker-compose dockerfile

我创建了一个docker实例,该实例中还包含mysql,现在我想检查我的mysql是否可以远程访问?

如何检查连接是否已建立?

1 个答案:

答案 0 :(得分:1)

请参阅issue 95:确保将mysql映像使用的端口映射到主机的端口(如果是Linux)

docker run -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest

http://severalnines.com/sites/default/files/blog/node_4734/image04.png

如果您将docker与VirtualBox(Windows或Mac)一起使用,则需要将该端口移植到您的实际主机

VBoxManage controlvm "default" natpf1 "tcp-port3306,tcp,,3306,,3306";

并使用docker-machine ip default获取实际地址。

如果您使用的是Docker for Windows(HyperV)或for Mac (HyperKit),则不需要。

参见" MySQL Docker Containers: Understanding the basics"更多。

2017年3月更新,来自同一issue 95

aercolino中的

this comment报告:

  

我刚刚发现我可以使用这些数据将SequelPro连接到Docker上的MySQL服务器:(不需要服务器的IP)

Host: 0.0.0.0
Port: 32768
Username: wordpress
Password: wordpress
  

我在此处发布了我的配置:How to install WordPress with Docker on OS Sierra

这可行,但0.0.0.0broadcast address of the zero network or 0.0.0.0, which in Internet Protocol standards stands for this network, i.e. the local network.。并不总是安全使用。