欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker端口映射

程序员文章站 2022-06-04 19:48:49
...

转载注明出处 [过把火]:https://www.jianshu.com/p/1d8dc0ddf176

通常情况下,我们想通过宿主机的ip来访问container的接口,那么此时需要进行container的端口映射。


具体步骤如下:
在run一个新镜像的时候加上-p参数指定内外端口:
○ docker run -p ip:hostPort:containerPort
○ 例如在run一个hadoop镜像时:
§ docker run -it -p ip:hostPort:containerPort -h master --name master ubuntu/hadoop2.7.3
○ 查看镜像的port
docker port NAME


端口映射支持的命令格式有多种:
1、ip:hostPort:containerPort:映射指定地址的指定端口到虚拟机的指定端口(不常用)

如:127.0.0.1:3306:3306,映射本机的3306端口到虚拟机的3306端口。 

2、ip::containerPort:映射指定地址的任意端口到虚拟机的指定端口。(不常用)

如:127.0.0.1::3306,映射本机的3306端口到虚拟机的3306端口。 

3、hostPort:containerPort:映射本机的指定端口到虚拟机的指定端口。(常用)

如:3306:3306,映射本机的3306端口到虚拟机的3306端口。

端口映射结束后在宿主机进行ssh测试:
○ ssh远程端口:

ssh -p xx [email protected]      

xx 为端口号,user为用户名,ip为要登陆的ip


如果不想用密码登录的话,需要配置SSH
container中和宿主机均要配置SSH,然后将宿主机的公钥追加进container ~/.ssh/authorized文件中即可。