我在 Mac OSX 上使用最新的 Docker 版本(17 CE),并使用以下教程启动了 SQL Server 实例:https ://docs.microsoft.com/en-us/sql/linux/sql-服务器-linux-setup-docker
服务器设置成功,我设法通过 SQL 命令行实用程序从容器外部连接到它。
下一步是我希望能够通过为实例分配公共 IP 来从同一本地网络中的另一台 PC 连接到该实例。
我浏览了许多教程,似乎使用 docker 10 这个功能现在是可能的,所以我希望以“正确”的方式而不是 hacky 方式(docker 10 之前)来做。我浏览了许多教程,即How to assign static public IP to docker container和Assign static IP to Docker container。
我正在使用 ubuntu 图像进行测试以保持对示例的真实性,但它仍然无法正常工作。尽管图像运行了,但每当我尝试从安装了 docker 的同一台计算机上 ping 分配的 IP 时,我都没有收到请求超时。同样在 Kitematic 上,IP AND PORTS 下的唯一主机是 localhost。图像被分配给自定义网络(实例运行时 docker network prune 不会修剪我的自定义网络),但我似乎无法从外部发现我的实例。
我正在使用的命令是
$ docker network create --subnet=172.18.0.0/16 mynet123
$ docker run --net mynet123 --ip 172.18.0.22 -it ubuntu bash
$ ping 172.18.0.22
对于我的 sql server
$ docker network create --driver=bridge --subnet=192.168.0.0/24 --gateway=192.168.0.1 mynet
$ docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MyPassword123<>' -p 1433:1433 --ip=192.168.0.10 --net=mynet microsoft/mssql-server-linux
$ ping 192.168.0.10
我错过了什么?
任何帮助,将不胜感激。