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
,所以一些服务不需要重新开启。
谢谢!!
问题2:
你应该把操作放脚本里run时执行的脚本里就行了. source好像也是要每次启动时都得执行的, linux有些位置的文件会自动source
问题3:
ENTRYPOINT 是在容器启动时执行的, 不管有没有CMD命令. 服务什么的一般在这个脚本里启动.
浏览器地址是127.0.0.1:3000
source命令导入是一次性的,退出终端就会从环境变量移除,下次启动终端重新导入
Dockerfile的RUN指令你可以指定任意shell命令或者脚本
问题1:
container
内需要 listening0.0.0.0:3000
而不是127.0.0.1:3000