如何在正在运行的 docker 容器中设置环境变量

新手上路,请多包涵

如果我有一个不久前启动的 docker 容器,那么在该运行容器中设置环境变量的最佳方法是什么?我最初在运行运行命令时设置了一个环境变量。

 $ docker run --name my-wordpress -e VIRTUAL_HOST=domain.example --link my-mysql:mysql -d spencercooley/wordpress

但现在它已经运行了一段时间,我想在环境变量中添加另一个 VIRTUAL_HOST 。我不想删除容器,然后只使用我想要的环境变量重新运行它,因为那样我就必须将旧卷迁移到新容器,它有主题文件并在其中上传我不想输。

我只想更改 VIRTUAL_HOST 环境变量的值。

原文由 Spencer Cooley 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 482
1 个回答

一般有两种选择,因为 docker 现在不支持这个功能:

  1. 创建您自己的脚本,它将像您的命令的运行器一样。例如:
    #!/bin/bash
   export VAR1=VAL1
   export VAR2=VAL2
   your_cmd

  1. 按照以下方式运行您的命令:
    docker exec -i CONTAINER_ID /bin/bash -c "export VAR1=VAL1 && export VAR2=VAL2 && your_cmd"

原文由 mirek 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进