美文网首页
docker容器正常启动,宿主机器无法访问启动的服务,对应的主机

docker容器正常启动,宿主机器无法访问启动的服务,对应的主机

作者: cherishpf | 来源:发表于2020-06-08 09:21 被阅读0次

    我在windows10家庭版的电脑上安装了docker
    准备启动一个mysql服务,下面是我的docker-compose.yml文件

    services:
      mysql:
        image: mysql:5.7
        container_name: mysql.service
        env_file:
          - env_mysql.env
        volumes:
          - "D:/var/bimserver/data/mysql:/var/lib/mysql"
        ports:
          - "53306:3306"
    

    然后进入docker-compose.yml文件所在目录通过以下命令启动容器

    $ docker-compose.exe up
    

    下面是启动后的打印日志


    问题:

    通过docker ps可以看到服务是启动的;
    但是通过localhost 53306端口连接mysql失败;
    cmd下输入命令:netstat -ano|findstr "53306",该端口没有被mysql进程占用;
    cmd下输入命令:telnet localhost 53306,端口无法连接!

    解决方法:

    原来启动docker会自动分配ip,我看官方文档,都是用的localhost访问,可能是安装docker的方式不同。有看到这么一句话(在Windows中,Docker主机地址是Linux VM的地址。当启动docker-machine虚拟机时会被分配一个IP地址。当你启动一个容器,容器的端口会映射到VM)


    通过IP地址:192.168.99.100,端口:53306连接mysql成功!

    相关文章

      网友评论

          本文标题:docker容器正常启动,宿主机器无法访问启动的服务,对应的主机

          本文链接:https://www.haomeiwen.com/subject/hqibzhtx.html