Docker Help:为Node.js App创buildDockerfile和Image

我是新的docker,并在docker的网站上遵循教程来在本地安装boot2docker,并使用他们的教程( https://docs.docker.com/examples/nodejs_web_app/ )为Node应用程序构build自己的图像。 我能够成功地完成这个,但我有以下问题:

(1)我应该使用这些Node Docker镜像( https://registry.hub.docker.com/_/node/ )而不是CentOS6作为Docker镜像的基础吗? 我猜Docker教程已经过时了吗?

(2)如果我应该从Node Docker映像基础,没有任何人有任何想法是Slim和常规官方节点图像更好地使用。 我会认为苗条将是最好的select,但我很困惑为什么存在多个版本。

(3)我不希望我的Docker Images将我的Node.JS应用程序源文件直接包含在图像中,因此必须在每次提交时重新创build我的图像。 相反,我想运行我的Docker容器,以便在启动特定提交时从我的私有Git存储库中提取源代码。 这可能吗? 我可以使用入口点这样的东西来指定我的凭据,并在运行Docker容器时提交,因此它会运行一个shell脚本来拉代码,然后启动节点应用程序?

(4)我可能会在同一个EC2主机上运行多个不同的Docker容器。 我想确保容器都是基于相同的Linux发行版将是首选? 这将禁止我第一次启动实例并运行不同的容器时下载多个版本?

谢谢!

最好是提出4个单独的问题,而不是把所有的问题都放在一个问题上。 但:

1)是,使用节点图像。

2)“常规”图像包含不在细长图像中的各种开发库。 如果您需要这些库,请使用常规图像,否则请使用slim。 有关这些库的更多信息,请访问https://registry.hub.docker.com/_/buildpack-deps/

3)通过将代码放入使用–volumes-from添加到容器中的数据容器,可能会更好。 你可以在这里find关于这个技术的更多信息: https : //docs.docker.com/userguide/dockervolumes/

4)我不明白这个问题。 请注意,亚马逊现在有一个容器产品: https : //aws.amazon.com/ecs/