从本地主机连接到正在运行的docker容器

我刚在Mac OS X上安装了dockerdocker机器

我有两个正在运行的容器,我想从我的terminal连接到:

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 Xterminal连接到elasticsearch和MySQL …

我已经试图在两个容器的docker inspect ,以确定什么是IP地址,并连接到使用该IP地址的容器无济于事。

任何人都可以请帮忙?

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

为了得到它,只需inputdocker-machine ip <machineName>

编辑 :对于你想连接的每个服务,你需要通过像docker run -d ... -p 3306:3306 ...这样的映射公开端口。 这将使得可以连接mysql的客户端如mysql -u <user> -h 192.168.99.100 -p 。 在弹性search的情况下,你需要做docker run -d ... -p 9200:9200 -p 9300:9300 ... 有关更多详细信息,请查看官方文档 。

尝试docker docker exec -it 5a1 bash -it docker exec -it 5a1 bash让ibto第一个,然后docker docker exec -it 5a1 bash -it docker exec -it 967 bash进入另一个