docker 所有web都要加端口号吗

发布网友 发布时间:2022-04-25 21:50

我来回答

1个回答

热心网友 时间:2022-06-17 20:31

  一开始docker安装好并且启动container后,container内的服务端口(例如nginx启动后监听的80端口)是不对外暴露的,在宿主windows下用浏览器访问docker虚拟机ip是访问不到container内的80端口的
  必须做端口映射操作,只要在container启动时,docker run命令带上端口映射参数就可以了:
  docker run -it -p 22222:33333 fe65a2781dae /bin/bash
  解释:
  -it参数在启动container为tty形式时必带,否则无法做命令行交互
  -p 22222:33333 关键参数,指定docker虚拟机的22222端口,映射为container的33333端口,即对192.168.59.103:22222的访问,统统访问到container的33333端口。如果要映射80端口,设置-p 80:80就好
  fe65a2781dae 指定docker要运行的imageid,也可以是REPOSITORY:TAG形式
  /bin/bash docker启动container后要运行的命令,一般启动命令行交互就用这个就好了

  所以要把nginx调通,要做以下步骤:
  1、docker run -it -p 80:80 fe65a2781dae /bin/bash
  2、container内运行nginx
  3、宿主windows浏览器访问192.168.59.103
  4、Welcome to nginx!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com