elasticsearch,docker,docker-machine,Mysql,elasticsearch,Docker,Docker Machine" /> elasticsearch,docker,docker-machine,Mysql,elasticsearch,Docker,Docker Machine" />

Mysql 从localhost连接到正在运行的docker容器

Mysql 从localhost连接到正在运行的docker容器,mysql,elasticsearch,docker,docker-machine,Mysql,elasticsearch,Docker,Docker Machine,我刚刚在mac os X上安装了docker和docker machine 我有两个正在运行的容器要从终端连接到: docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5a15af29232f mysql:latest

我刚刚在mac os X上安装了dockerdocker machine

我有两个正在运行的容器要从终端连接到:

docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                    NAMES
5a15af29232f        mysql:latest        "/entrypoint.sh mysql"   28 minutes ago      Up 28 minutes                  0.0.0.0:3306->3306/tcp   hopeful_fermi
967f240e77d1        elasticsearch       "/docker-entrypoint.s"   About an hour ago   Up About an hour               9200/tcp, 9300/tcp       jolly_swartz
我不知道如何从我的mac os X终端连接到elasticsearch和mysql

我在两个容器上都尝试了
docker inspect
,以确定IP地址是什么,并使用该IP地址连接到容器,但没有成功


有人能帮忙吗?

试着
docker exec-it 5a1 bash
把ib放到第一个,然后
docker exec-it 967 bash
放到另一个

但是请记住,你需要使用
docker machine
的IP地址,而不是
localhost

要获得它,只需键入
docker machine ip


编辑:对于要连接的每个服务,您需要通过映射(如
docker run-d)公开端口-3306:3306…
。这样就可以像mysql-u-H192.168.99.100-p一样连接mysql客户端。如果是elasticsearch,您需要执行
docker run-d-p 9200:9200-p 9300:9300…
。有关更多详细信息,请查看。

他明确要求连接到IP地址。不在容器内执行shell。那么如何连接到Elasticsearch和Mysql?我可以只使用
mysql-h 192.168.99.100-u root
其中192.168.99.100是IP吗?我更新了我的答案,包括elasticsearch端口映射。我能够成功连接到ES。也可以连接到mysql!谢谢。