【问题标题】:How to access a Docker container in the local network?如何访问本地网络中的 Docker 容器?
【发布时间】:2017-10-23 13:18:59
【问题描述】:

我从 Docker Hub 中提取了一个 MYSQL 映像,并通过设置必要的凭据(例如用户名、密码等)来运行它。然后我通过以下方式检查了容器:

docker inspect CONTAINER_ID

我在哪里获得了 MySQL 数据库的 IP 地址。由于 Docker 守护程序通过桥接网络连接,因此我的 IP 地址为:172.17.0.2。通过指定这个 IP,我可以从主机(Fedora)连接到数据库。但是,如何从同一局域网中的另一台机器连接到 MySQL 数据库?

【问题讨论】:

    标签: mysql docker containers docker-networking


    【解决方案1】:

    您需要将容器端口绑定到主机端口。将-p 添加到docker run 命令中:

    docker run -p HOST_PORT:CONTAINER_PORT
    

    即:

    docker run -p 3306:3306 .......
    

    所以 MySQL 可以从 Fedora 的 LAN 接口使用。

    【讨论】:

    • 按照您的指示后,我从 docker inspect: "...Ports" : "3306tct": [{"HostIp": "192.168.20.109}, "HostPort": "3306" }]... 然后我从我的另一台电脑上尝试过:mysql -u root -h 192.168.20.109:3306 -p,但我得到了 Unknown MySQL Server host error。
    • 端口必须指定为:mysql -u root -h 192.168.20.109 -P 3306 -p。或者只是不指定任何内容,因为它是默认值。
    • 谢谢,现在按照上面的说明操作了。
    猜你喜欢
    • 2022-12-18
    • 1970-01-01
    • 2022-10-08
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    相关资源
    最近更新 更多