【发布时间】:2018-08-20 03:49:16
【问题描述】:
我错过了一块拼图。通过
运行 docker 镜像(比如在 Linux EC2 实例上)> sudo docker run -p 80:xyzw webapp_image:version
使 container 可在端口 80 访问,这意味着(通过 Dockerfile 中的 EXPOSE xyzw)容器已影响其主机。
这不与 Docker 容器的前提相矛盾吗?就像虚拟化一样,这个想法似乎是容器在沙箱中运行并且无法影响其主机。然而在这里它能够在主机的端口上暴露自己。这是可行的事实是否违反了所谓的隔离?映射不应该在主机的命令行上完成,而不是在容器内完成吗?假设您在同一主机上有两个容器,并且都尝试通过同一个端口公开,那么可能会发生一些竞赛,看谁会先到达那里。还是确实观察到沙盒的想法,只是这里的映射发生在主机的命令行上?
【问题讨论】:
-
什么不起作用?您似乎已经描述了所有关键部分。
-
@DavidMaze 我不确定自己了。让我重新提出这个问题。
标签: amazon-web-services http docker amazon-ec2