如何使容器对外部网络可见,并处理生产中的I.P地址

时间:2014-08-08 08:07:16

标签: docker

我有:

  • 使用Hyper-V的裸机上的Windows服务器
  • 在Hyper-V中运行的Ubuntu服务器
  • 具有在Ubuntu服务器中运行的NGINX Web应用程序的Docker容器

每次运行Docker镜像时,都会获得一个新的I.P. Docker0网络接口上的地址。对于生产,我不知道如何使Docker容器对外部网络可见。我也不知道如何处理每次运行图像时I.P地址都会改变的事实。

正确的方法是什么:

  • 使Docker容器对外部网络可见吗?
  • 处理Docker容器I.P.在生产中以可重复的方式解决?

1 个答案:

答案 0 :(得分:4)

使用docker run运行Docker容器时,应使用-p开关转发端口,例如:

docker run -p 80:80 nginx

这会将端口80从Ubuntu服务器路由到Nginx容器中的端口80。

您应该在https://docs.docker.com/reference/run/#expose-incoming-ports

上查看Docker文档

如果您有多个容器和链接,则应在Dockerfile中使用EXPOSE,如下所示:https://docs.docker.com/reference/builder/#expose

相关问题