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

Docker学习笔记之Docker端口映射

程序员文章站 2023-01-08 21:12:45
最近在学习docker,今天了解了docker端口映射,给自己留个小笔记,也分享给大家 为什么要端口映射? 在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部...

最近在学习docker,今天了解了docker端口映射,给自己留个小笔记,也分享给大家

为什么要端口映射?

在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部程序是无法访问虚拟机的,因为没有端口。

端口映射的指令是什么?

docker指令:docker run -p ip:hostport:containerport redis

使用-p参数会分配宿主机的端口映射到虚拟机。

ip表示主机的ip地址。

hostport表示宿主机的端口。

containerport表示虚拟机的端口。

支持的格式有三种:

ip:hostport:containerport:映射指定地址的指定端口到虚拟机的指定端口(不常用)

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

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

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

hostport:containerport:映射本机的指定端口到虚拟机的指定端口。(常用)

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

如何查看是否映射成功?

使用docker ps命令查看

Docker学习笔记之Docker端口映射 

出现6379/tcp的表示宿主机并没有打开与虚拟机的端口映射。

出现0.0.0.0:3306->3306/tcp表示宿主机的3306端口映射到了虚拟机的3306端口。

也可以使用docker port name查看端口映射情况。

Docker学习笔记之Docker端口映射  

表示虚拟机的3306端口映射到了主机的3306端口。

如果没有任何回复,表示端口映射失败。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。