搜索

首页  >  问答  >  正文

Docker -p的问题

1: docker run -d -p 3000:3000 images
这里若在container内开启localhost:3000的服务,怎么才能从外部访问呢?浏览器地址是什么?

2:我commit了一个已经部署好环境的image,当下次我根据image run一个container,为什么一些shell还需要source才能生效,之前已经source过了。
web服务也需要重新开启。
不是使用Dockerfile生成的image.

3:根据Dockerfile build成的image,是不是在run时会执行内部的ENTRYPOINT,所以一些服务不需要重新开启。

谢谢!!

怪我咯怪我咯2771 天前896

全部回复(3)我来回复

  • 天蓬老师

    天蓬老师2017-04-27 09:03:48

    问题2:
    你应该把操作放脚本里run时执行的脚本里就行了. source好像也是要每次启动时都得执行的, linux有些位置的文件会自动source

    问题3:
    ENTRYPOINT 是在容器启动时执行的, 不管有没有CMD命令. 服务什么的一般在这个脚本里启动.

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-27 09:03:48

    1. 浏览器地址是127.0.0.1:3000

    2. source命令导入是一次性的,退出终端就会从环境变量移除,下次启动终端重新导入

    3. Dockerfile的RUN指令你可以指定任意shell命令或者脚本

    回复
    0
  • 某草草

    某草草2017-04-27 09:03:48

    问题1:
    container内需要 listening 0.0.0.0:3000 而不是127.0.0.1:3000

    回复
    0
  • 取消回复