问题描述
想要在启动容器时提供一个配置文件(.env)。他正在尝试在比特币闪电网络测试网上安装一个GUI,并且有两个运行并连接在一起的闪电节点,都在容器中运行。现在,他想要一个GUI界面来管理他的节点。他使用了这个镜像:https://hub.docker.com/r/apotdevin/thunderhub。他可以启动容器,并在本地计算机的3000端口访问它。他的问题是如何配置Thunderhub来连接他的节点。如果按照Thunderhub主页上的说明,他们会引导他到这个页面:https://docs.thunderhub.io/setup/#server-accounts。但是说明是这样的:你可以通过将这个参数添加到.env文件中,在服务器上添加账户……他想知道接下来该怎么做?这是否意味着他必须重新构建镜像?如何在启动容器时提供一个’.env’配置文件?
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
我建议使用docker-compose来运行容器,并使用”environment”指令。你可以在这个链接中找到一个很好的例子:https://docs.docker.com/compose/gettingstarted/,请参考第5步。你也可以在与docker-compose.yml相同的目录中创建.env文件。在下面的链接中有一些示例:https://docs.docker.com/compose/environment-variables/。如果你不想使用docker-compose,你可以使用–env标志:
docker run --env VAR1=value1 --env VAR2=value2 ubuntu env
方案2
你也可以使用docker run的–env-file选项…
如果你不想使用docker-compose,你可以使用–env-file选项:
docker run --env-file your_env_file ubuntu env
在这个示例中,你需要创建一个名为your_env_file的文件,并在其中定义你的环境变量。然后,使用–env-file选项将该文件传递给docker run命令。
请注意,这些解决方案中的环境变量将在容器启动时传递给容器,并且可以在容器内部使用。