为什么我在工作目录中所做的更改没有显示在Docker容器中?
我想通过Docker运行一个测试,如自述文件中所述 我收到错误消息,“Parse Dashboard只能通过HTTPS远程访问”。通常,您可以通过在Parse-Dashboard-config.json文件中添加行为什么我在工作目录中所做的更改没有显示在Docker容器中?,docker,parse-platform,Docker,Parse Platform,我想通过Docker运行一个测试,如自述文件中所述 我收到错误消息,“Parse Dashboard只能通过HTTPS远程访问”。通常,您可以通过在Parse-Dashboard-config.json文件中添加行“allowInsecureHTTP”:true来绕过此问题。但即使我已将此选项添加到配置文件中,也会显示相同的消息 我试图编辑Docker容器中的配置文件,结果发现我的本地文件在容器中的任何位置都没有更改。我的项目似乎是github存储库中代码的未修改版本 为什么我对主机上工作目录中
“allowInsecureHTTP”:true
来绕过此问题。但即使我已将此选项添加到配置文件中,也会显示相同的消息
我试图编辑Docker容器中的配置文件,结果发现我的本地文件在容器中的任何位置都没有更改。我的项目似乎是github存储库中代码的未修改版本
为什么我对主机上工作目录中的文件所做的更改没有显示在Docker容器中
但上传到docker的是我的主分支的配置文件
这取决于:
- “docker”是什么:正式的docker注册表还是私人的docker注册表
- 上传方式:您是构建一个映像然后使用,还是简单地将
git推送回到您的GitHub repo
Dockerfile
之后运行已生成的映像()
如果您从右侧分支签出Git repo的文件夹执行docker构建
,您将获得包含正确文件的图像。您链接的存储库使用添加/src
。这是一个糟糕的做法(因为你遇到了很多问题)。以下是两种不同的解决方法:
每次重建图像
每当您更改工作目录中的任何内容时(Dockerfile将其添加到/src
),您都需要重新生成以使更改生效。例外情况是src/Parse Dashbaord/Parse dashboard config.json
,我们将在卷中装入它。该工作流与自述文件中的工作流几乎相同:
$ docker build -t parse-dashboard .
$ docker run -d -p 8080:4040 -v ./src/Parse-Dashbaord/parse-dashboard-config.json:/src/Parse-Dashboard/parse-dashboard-config.json parse-dashboard
使用卷
如果我们要使用卷来完成这项工作,我们甚至不需要项目附带的自定义Dockerfile。我们将只使用Dockerfile所基于的官方图像
在这种情况下,Docker将不会为您运行生成过程,因此您应该在启动Docker之前在主机上自己执行此操作:
$ npm install
$ npm run build
现在,我们可以启动通用节点Docker映像,并要求它为我们的项目目录服务
$ docker run -d -p 8080:4040 -v ./:/src node:4.7.2 "cd /src && npm run dashboard"
更改将立即生效,因为您将/
作为卷装入映像。由于没有使用ADD
,因此不需要每次都重建图像。我们可以使用通用节点映像,因为如果我们不添加目录并运行build命令,我们的映像与官方映像没有什么不同。您的问题被否决,因为它确实令人困惑,而且似乎与标题无关。试着一次只问一个问题,也许可以提供您所采取的更具体的步骤,以便我们了解问题所在。好的,我下次会做得更好。您正在运行哪些命令?您是否尝试通过https://localhost
而不是http://localhost
?我为您编辑了您的问题。这是我想问的问题,但我不知道怎么问。Docker没有以任何方式与Git交互,也没有从任何Github分支签出任何代码。