如何更改已经运行的容器的Docker配置?

问题描述 投票:1回答:1

我已经安装了Sentry onpremise,经过一段时间的修补我得到了它的工作,并使用命令行将system.url-prefix选项更改为正确的URL。但是仍然存在两个问题:

  • 此选项不是持久的
  • 你不能对mail.from选项做同样的事情,它只能在运行之前设置。

有3个配置文件在播放,但并非所有配置文件都注册,这让它变得混乱。

  1. sentry.conf.朋友

SENTRY_OPTIONS['system.url-prefix'] = 'https://sentry.mydomain.com'
SENTRY_OPTIONS['mail.from'] = '[email protected]'
  1. config.yml

mail.from: '[email protected]'
system.url-prefix: 'https://sentry.mydomain.com'
  1. 泊坞窗,compose.yml

enter image description here

重新启动容器不会加载新配置。

Related issue。但是我不知道在更改配置之后要做什么,就像在评论中一样(SENTRY_OPTIONS['mail.from']

docker docker-compose sentry
1个回答
1
投票

您需要在容器内显示已修改的配置文件。

如果它们内置在图像中(可能通过Dockerfile中的COPY或ADD),那么重新启动容器没有用,因为你是在旧图像上进行的。您应该重建图像,停止旧图像并启动新图像。相当烦人且容易出错的方式。

更好的方法是通过卷“挂载”您的文件。 Docker卷可以是单个文件,而不仅仅是目录。你可以在你的volumes中添加docker-compose.yml部分:

my_container:
  image: my_image
  volumes:
    sentry.conf.py:/full/path/to/sentry.conf.py/in/the/container
    config.yml:/similar/full/path/to/config.yml
  ports:
    ...
  command: ...

您可能已经为此特定容器定义了一些卷(例如,保存持久数据),然后您只需为配置文件添加卷映射。

希望这可以帮助。新年里一切顺利!

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.