docker不设置端口映射就不可以外部访问吗
在弄小米的open-falcon
,其中有个部件是从docker
取回来的。
按照教程,执行了docker的:
# make the image,run commands under dir of dashboard:
docker build -t falcon-dashboard:v1.0 .
# start the container
docker run -itd --name aaa --net host \
-e API_ADDR=http://127.0.0.1:8080/api/v1 \
-e PORTAL_DB_HOST=127.0.0.1 \
-e PORTAL_DB_PORT=3306 \
-e PORTAL_DB_USER=root \
-e PORTAL_DB_PASS=123456 \
-e PORTAL_DB_NAME=falcon_portal \
-e ALARM_DB_PASS=123456 \
-e ALARM_DB_HOST=127.0.0.1 \
-e ALARM_DB_PORT=3306 \
-e ALARM_DB_USER=root \
-e ALARM_DB_PASS=123456 \
-e ALARM_DB_NAME=alarms \
falcon-dashboard:v1.0
从上面命令中,并没有看到-p用于绑定端口映射的东西,但是不知为何,依然可以请求到docker这个容器里面的某个项目的端口。
好奇怪。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
--net
选项已经设置了docker的网络,参见network settingsnetwork可以自定义网络,连接相同网络的docker可以相互通信。
你还是没注意看命令
host
模式host
它可以与主机共享Root Network Namespace
,容器有完整的权限操纵主机的网络配置,出于安全考虑,不推荐使用这种模式。启动
host
模式非常简单,依旧是在docker run
中加入--net=host
参数即可。另外,还有
none
模式、container
模式、bridge
模式(默认模式)、overlay
模式