我的docker容器在尝试运行bigcode-tools的映像时总是立即关闭

yvgpqqbh  于 2023-02-21  发布在  Docker
关注(0)|答案(1)|浏览(140)

我是新来的Docker,我不知道如何处理这种情况。
所以我试着运行一个Docker容器来复制一篇研究论文中的一些结果,特别是从这里:https://github.com/danhper/bigcode-tools/blob/master/doc/tutorial.md(图片链接:https://hub.docker.com/r/tuvistavie/bigcode-tools/)。
我使用的是Windows机器,每次我尝试运行Docker映像(通过:docker run-p 80:80 tuvistavie/bigcode-tools),它会立即关闭。我试过运行其他的图像,比如getting-starting,但是那个图像不会立即关闭。
我已经研究了其他一些可能的解决方法,比如使用-dit,但是由于说明要求为docker run命令设置别名/doskey,使用别名并多次将其与其他命令链接会导致为docker容器创建一个队列,因为端口与别名绑定。
就像GitHub链接中的说明一样,我试图设置一个别名/doskey来进行api调用以拉取数据,但在命令提示符下执行调用时,我无法获得任何数据,也没有收到任何错误。
抱歉问了这么长的问题,谢谢你抽出时间!
按照说明的顺序:0。我可以运行这个,它将图像添加到我的Docker桌面1。

  • 由于我使用的是Windows机器,所以我不得不使用"set"而不是"export"
  • 我不太清楚$在UNIX中的意义,也不知道它是否有重要意义,但据我所知,其全部目的是创建一个名为'bigcode-workspace'的目录
  • 我需要使用doskey而不是"alias"。
  • 因为-dit阻止了我的图像立即关闭,所以我也添加了它,但是我不是100%确定它的意思,运行docker run(...)导致docker图像立即关闭。
  • 在使用doskey别名+另一个命令时,我尝试过:
  • (doskey宏)(另一个命令)
  • (多功能键宏)^&(另一个命令)
  • (多键宏)$T(另一个命令)
  • 这似乎也使用了github api调用,所以我还添加了一个--token =(github_token),但这也没有改变什么
  • 因为后面的步骤需要从这里提取预期的数据,所以我无法继续。
h5qlskok

h5qlskok1#

看起来这个映像是被设计成一个命令行实用程序。所以它不应该连续运行,但是你可以通过别名docker-bigcode运行它来完成你的任务。
$BIGCODE_WORKSPACE在这里是一个环境变量的扩展。所以在Windows机器上它是%BIGCODE_WORKSPACE%。你可能想在Settings->System->About->Advanced System Settings中设置这个变量,因为用SET命令设置的变量将只应用于当前的命令提示符会话。或者你可以直接指定路径,而不使用环境变量。
至于别名,我将创建一个包含以下内容的批处理文件:

docker run -p 6006:6006 -v %BIGCODE_WORKSPACE%:/bigcode-tools/workspace tuvistavie/bigcode-tools %*

这将运行指定的命令,并在末尾附加批处理文件参数。如果BIGCODE_WORKSPACE路径包含空格,则可能需要添加双引号。

相关问题