我第一次使用 Docker。我正在尝试将基于 docker 的 MySQL 与我的 Navicat 客户端连接。如何获取 docker IP 然后将其用于连接?以下是一些细节:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b984b6659d20 mysql:5.7 "docker-entrypoint.sh" 8 minutes ago Up 7 minutes 3306/tcp myre_mysql_run_1
d34d8974912c myre_php-apache-engine "/usr/local/bin/entry" 20 hours ago Up 7 minutes 80/tcp myre_php_apache_engine_dev
981c2a7fa83b mysql:5.7 "docker-entrypoint.sh" 20 hours ago Up 47 seconds 3306/tcp myre_mysql_dev
472531e09d08 jwilder/nginx-proxy "/app/docker-entrypoi" 20 hours ago Up 7 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp nginx_proxy
Run Code Online (Sandbox Code Playgroud)
如果需要从外部访问mysql容器。比您需要将容器端口映射到服务器端口(使用-p)。
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_USER=test -e MYSQL_PASSWORD=test -d mysql:latest
Run Code Online (Sandbox Code Playgroud)
现在您可以使用服务器的 IP + 端口连接到您的容器。就我而言,我在 VLAN 中。我的服务器的 IP 是 192.168.140.30。例如,当我通过 ssh 连接到我的服务器时,我使用该 IP。现在我已经将容器的端口映射到服务器的端口上(-p 3306:3306这意味着:将容器的端口 3306 映射到服务器的端口 3306。(这样我就可以使用服务器 IP 进行连接)。
| 归档时间: |
|
| 查看次数: |
8703 次 |
| 最近记录: |