我有一个用于导出环境变量的shell脚本。该脚本调用python脚本,以从web服务获取某些值,在运行主python脚本之前需要存储这些值。
我试过使用运行/bot/env/setenv.sh
,但这似乎并不能使env变量在最终容器中可用。我曾尝试将内容放入一个entrypoint.sh
文件中,该文件以调用pythonjbot.py
结束,但容器从未完成其设置(我假设,因为entrypoint中的脚本是一个连续循环?)
我的entrypoint.sh
看起来像这样:
#!/bin/bash
. /jirabot/env/setenv.sh
python jbot.py
而setenv.sh
只是:
#!/bin/bash
export SLACK_BOT_TOKEN="xoxb-token"
export BOT_ID=`python env/print_bot_id.py ${SLACK_BOT_TOKEN}`
我的完整Dockerfile是:
FROM python:2
COPY jirabot/ /jirabot/
RUN pip install slackclient schedule jira
WORKDIR /jirabot
#CMD [ "python", "jbot.py" ]
ENTRYPOINT [ "/jirabot/entrypoint.sh" ]
当我运行docker run bot时,我可以验证应用程序是否正在运行(bot会适当地响应我的请求)。但是,jbot.py
中的所有print()
语句都不在输出中,因此我有两个主要问题:
>
为什么我的entrypoint.sh
只是挂起容器返回?我做docker运行bot
,并且我永远不会返回对终端的控制。然而,机器人似乎启动良好。
当我打开第二个终端并执行docker日志时,为什么不从
jbot.py
获取任何打印语句
fwiw,my
jbot.py
是一个而True:
循环,监视输入。
对于第一个问题,您应该查看docker run
的文档。很快,您将连接集装箱,因此您将永远不会返回航站楼。要分离,需要添加选项-d
。
启动容器的常用命令是docker run-idt
对于第二个问题,信息不足以确定问题,抱歉。也许您可以在正确启动容器后重试。
返回文件的URL。 starfxdemodoc.fxml为: 而StarfXDemodocController.java是这样的: 有谁能帮我一下吗? 编辑/更新: 根据james_d的评论(谢谢你James,显然我已经盯着这个问题太久了……),我修复了控制器中的明显错误,并将SimNameField设置为TextField,而不是Label(并更新了上面的代码块以反映这一点)。我还将异常处理更改
我已经建立了一个asp.netmvc网页。我的所有操作,如:创建、编辑等...有自己的视图,除了删除,因为我正试图在Bootstrap的帮助下弹出一个模态。我通过jQuery/JavaScript向modal传递一个id,并将asp-action作为表单的属性,理论上它应该可以工作,但事实并非如此。 索引视图: 删除控制器中的操作: Javascript: 输入获取id作为名称的值: 调试时,它不
我正在创建一个进行线性探测以查找键索引的哈希图。如果键已经在索引中,我想增加它的值,而不是向新索引添加一个。 例如,如果我得到字符串“五,五,五”的字数,我的输出是五1,五1,五1,而不是五3。 我认为一定是我的 containsKey 方法,它使用 get 方法来检查我的密钥是否已在映射中。下面是我的Hashmap.java类。
null 虽然我不能让cron在那个特定的容器中工作,但我能够为cron创建一个独立的docker容器,并成功地使它自动运行。 至于cron容器的设置,我遵循了链接的文章,使用Docker-Julien Boulay运行了一个cron作业,并且能够使其工作。
我有自己的目录结构: 在我的Dockerfile中,我将复制到目录,但不幸的是,它没有被复制: 错误:
问题内容: 我知道您可以使用将文件从主机复制到正在运行的Docker容器,但就我而言,我想在启动Docker容器之前将其复制。我怎样才能做到这一点? 请注意,我不想在构建的docker映像中使用此文件,因此即使在构建时也无法复制该文件。另一种方法是使用已安装的卷(带有),但我也不希望这样。 问题答案: 您可以执行以下操作: