【问题标题】:Installing a Text Editor to Edit appsettings.json in ASP.NET Core 3.1 Docker Container安装文本编辑器以在 ASP.NET Core 3.1 Docker 容器中编辑 appsettings.json
【发布时间】:2020-04-08 14:43:05
【问题描述】:

在配置和 Docker 方面,我发现对容器进行修改比重新构建和重新部署 Docker 容器要容易得多。

例如,使用基于 Debian 的映像的映像我可以运行 apt install nano 并以这种方式更改配置,然后重新启动容器以进行更改以进行注册。

我的问题是,如何使用 dotnet 应用程序和 appsettings.json 以及 Visual Studio 生成的 Dockerfile 来执行此操作?当我 bash 进入容器时,我看到它在根目录中,但是我不能使用像 apt install 这样的任何命令。

【问题讨论】:

    标签: docker asp.net-core


    【解决方案1】:

    如果可以避免的话,您永远不应该直接编辑容器内的文件。删除和重新创建容器(更改一些仅启动时间选项;更新容器正在运行的映像)是非常例行的,当您执行此操作时,您所做的任何更改都将丢失。

    如果您有一个配置文件希望在运行时出现在容器中,您可以使用 Docker bind mount 让主机上的文件副本替换容器中的文件。用类似的东西开始它

    docker run -v $PWD/appsettings.json:/appsettings.json ...
    

    您可以使用自己喜欢的编辑器在主机上编辑文件,而无需在容器中安装不必要的工具。原则上,这应该立即反映在容器中,但您可能需要重新启动应用程序/容器才能注意到它。只要您在删除并重新创建容器时指定此选项,您的更改将是“持久的”。

    【讨论】:

    • 这很有帮助。我从谷歌来到这里,想编辑appsettings 文件。如果我使用 docker-compose 是否有 -v 的等价物
    • 撰写 volumes: 是一样的。在那里您可以使用相对路径 ./appsettings.json:/appsettings.json,它们将相对于 docker-compose.yml 文件的位置进行解释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多