赞
踩
# Web服务器:WebApache或Nginx通常使用80端口 HTTP:80 HTTPS:443 # 数据库服务器 MySQL:3306 PostgreSQL:5432 MongoDB:27017 Redis:6379 # 邮件服务器 SMTP:25 POP3:110 IMAP:143 # 其他服务 SSH:22 FTP:21 DNS(域名解析):53 代理服务器 Squid:3128 版本控制系统 Git:9418 (SSH) 容器相关 Docker 默认端口:2375(非安全),2376(安全) 其他网络服务 Telnet:23 NFS:2049 RPCbind:111
Docker的端口映射是通过在docker run命令中使用-p或-P参数来实现的。这允许你将容器内部的端口映射到宿主机上的端口,从而使得外部网络可以访问容器内的服务。
如果你只想映射容器内的一个端口到宿主机上的一个端口,可以使用-p参数,具体命令如下:
docker run -p [宿主机端口]:[容器内部端口] image_name
例如,如果你想将容器内的80端口映射到宿主机的8080端口,可以执行以下命令:
docker run -p 8080:80 image_name
这样,当外部网络访问宿主机的8080端口时,请求会被转发到容器内的80端口
如果容器中有多个服务需要暴露,你可以使用多个-p参数进行端口映射。例如:
docker run -d -p [宿主机端口1]:[容器内部端口1] -p [宿主机端口2]:[容器内部端口2] image_name
将容器内部的8080端口映射到主机的8080端口,同时将容器内部的3306端口映射到主机的3306端口,命令如下:
docker run -d -p 8080:8080 -p 3306:3306 myapp
如果不指定宿主机上的端口,Docker会自动为容器选择一个未被占用的端口号进行映射。这可以通过使用-P(大写的P)参数来实现:
docker run -d -P myapp
这样,Docker会在宿主机上为容器分配一个随机端口,并将容器内部的应用程序映射到这个随机端口上。你可以使用docker ps命令来查看映射的端口号。
在进行端口映射时,确保宿主机上的端口没有被其他应用程序占用。
如果容器内部没有指定端口,Docker会使用容器内部应用程序所监听的默认端口号进行映射。
端口映射后,你可以通过访问宿主机的IP地址和映射的端口号来访问容器内的服务。
总之,Docker的端口映射功能提供了灵活的方式来暴露容器内的服务到外部网络。通过合理的配置,你可以实现容器与外部网络之间的顺畅通信。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。