Docker端口映射

新版本Docker映射

由于新版本使用自己的虚拟机技术映射很简单,docker容器在启动的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。

亦可使用Dockerfile文件中的EXPOSE指令来配置。

-p指定要映射的端口,一个指定端口上只可以绑定一个容器

ip:hostport:containerport#指定ip、指定宿主机port、指定容器port

ip::containerport#指定ip、未指定宿主机port(随机)、指定容器port

hostport:containerport#未指定ip、指定宿主机port、指定容器port

例如:

docker run -itd --name nginx -p 80 nginx

以上指令会将容器的80端口随机映射到宿主机的一个端口上。

将容器指定端口指定映射到宿主机的一个端口上

例如:

docker run -itd --name nginx -p 8080:80 nginx

以上指令会将容器的80端口映射到宿主机的8080端口上。

将容器端口映射到宿主机ip和端口上

例如:

docker run -itd --name nginx -p 192.168.1.55:8080:80 nginx

以上指令会将容器的80端口,映射到宿主机192.168.1.55的IP和8080端口上。

旧版本Docker映射

由于旧版本使用的是virtualBox做虚拟机的所以端口映射方式不一样

前面的端口映射是一样的主要是后面代码不一样

例如:

docker run -itd --name nginx -p 8080:80 nginx

以上指令会将容器的80端口映射到宿主机的8080端口上。

打开虚拟机 Oracle VM VirtualBox 找到default->右键设置

选择网络->高级->端口转发


配置端口转发规则


如:设置主机ip192.168.1.55 主机端口 8888 (通过IP:端口就可以访问虚机),子系统端口(就是端口映射配置的端口-p 8080:80 )这里指8080

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容