选择容器端口号

时间:2018-07-19 09:48:39

标签: sql-server docker docker-machine

请参见以下命令:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Password1" -p 1433:1433 -d microsoft/mssql-server-linux:2017-latest

运行此命令后,可以使用SQL Studio管理器连接到数据库,如下所示:

enter image description here

我还可以使用192.168.99.100,1433连接。 接下来,我删除容器并执行以下命令:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Password1" -p 600:600 -d microsoft/mssql-server-linux:2017-latest

我在这里补好了港口。现在,请参见下面的屏幕截图:

enter image description here

1)为什么tcp端口1433?

2)为什么我不能在端口500上连接到数据库?

我意识到文档告诉您使用端口1433,如下所示:https://hub.docker.com/r/microsoft/mssql-server-linux/。但是,它没有告诉我原因。

1 个答案:

答案 0 :(得分:2)

(1)镜像Dockerfile可能显示为EXPOSE 1433,因为这是服务器监听的端口; 1433/tcp中仅有的docker ps输出表明端口未发布到主机。

(2)docker run -p 600:600时,您告诉Docker将主机上的端口600转发到容器中的端口600。该端口上没有监听,因此您无法连接。

(3)如果您docker run -p 600:1433,您将告诉Docker将主机上的端口600转发到服务器正在侦听的容器中的端口1433,我希望它可以正常工作。