在Docker映像中修改配置文件-Node.js配置(app.js)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Docker映像中修改配置文件-Node.js配置(app.js)相关的知识,希望对你有一定的参考价值。

[这个问题几乎适用于所有已发布的Docker映像,但就我而言,我正在尝试运行此Docker容器:https://github.com/illuspas/Node-Media-Server/

上面链接的页面具有docker命令。那很棒!我可以运行docker映像,但是除非我可以更改配置以满足我的需要,否则它是没有用的。不幸的是,当通过docker使用他的应用程序时,该github回购似乎没有包含任何进一步的说明。

Docker使我困惑不已。有人使用Node.js创建一个预先配置的容器,那么我该如何编辑该GitHub页面上提到的Node.js配置文件(app.js)?我希望这些更改也能够保留(服务器重新启动时)。

我必须创建自己的Docker容器副本吗?我需要一个Docker帐户来提交更改吗?最好的方法是什么,有人链接到可以提供帮助的指南吗?如果我确实制作了自己的docker映像,是否可以免费将其发布到某个地方?因此,然后我可以使用myusername而不是原始作者的容器来运行我的容器?如果他的包裹更新了怎么办?我如何将这些更改添加到我的Docker映像中?

为什么这么复杂?为什么不将需要针对每个正在运行的实例进行调整的配置文件存储在真实文件系统中的某个位置,以便可以轻松地访问和编辑它?

我真的不明白为什么docker如此受欢迎,因为它与正在运行的容器进行交互非常混乱,并且更改现有映像的容器中的配置或文件似乎并不简单。

[如果有人可以帮助阐明需要做什么,我将不胜感激。

答案

最简单的方法是克隆存储库更改app.js并运行docker build,这将创建一个新映像,然后可以在docker运行。

您还可以使用docker exec -it $container bash在已经运行的容器上获取​​shell,编辑文件,然后执行docker commit $container $some_name

我不是选项2的忠实拥护者,但过去曾用它来进行快速而肮脏的黑客攻击。

如果只想将更改保密,则不需要docker帐户。

以上是关于在Docker映像中修改配置文件-Node.js配置(app.js)的主要内容,如果未能解决你的问题,请参考以下文章

谷歌云防火墙暴露端口 Docker

使用 Node js 将 Angular 应用程序作为 docker 镜像运行

docker+mysql(8.0.15)+node.js(hapi.js)构建容器(命令行)

如何在未配置的 Docker 上为 centos 7 删除/安装 docker 映像

云计算核心技术Docker教程:Docker存储写入时复制(CoW)策略

node项目怎么在离线环境生成容器镜像