为了账号安全,请及时绑定邮箱和手机立即绑定

docker 所有web都要加端口号吗

docker 所有web都要加端口号吗

拉丁的传说 2019-05-10 11:06:49
docker 所有web都要加端口号吗
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞


  一开始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!



查看完整回答
反对 回复 2019-05-11
  • 2 回答
  • 0 关注
  • 936 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信