docker 所有web都要加端口号吗

docker 所有web都要加端口号吗


拉丁的传说
浏览 939回答 2
2回答

郎朗坤

  一开始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!
打开App,查看更多内容
随时随地看视频慕课网APP