我想通过Docker运行测试parse-dashboard,如自述文件中所述。
我收到错误消息," Parse Dashboard只能通过HTTPS远程访问。"通常,您可以通过在parse-dashboard-config.json文件中添加行"allowInsecureHTTP": true
来绕过此操作。但即使我已将此选项添加到配置文件中,也会显示相同的消息。
我尝试在Docker容器中编辑配置文件,于是我发现我的本地文件都没有更改容器中的位置。看起来好像我的项目是来自github存储库的代码的未修改版本。
为什么我对主机上工作目录中的文件所做的更改未显示在Docker容器中?
答案 0 :(得分:0)
但它是什么上传到我的docker,它实际上是我的主分支的配置文件。
取决于:
docker push
,或者您只是将git push
恢复为您的GitHub回购?基本上,如果您希望在Docker容器中看到正确的文件,那么您必须确保在Dockerfile
之后运行您构建的图像(docker build
){{3}来自您当前的工作区
如果您从右侧分支检出Git仓库的文件夹中执行docker build
,您将获得包含正确文件的图像。
答案 1 :(得分:0)
您关联的Dockerfile存储库中的parse-dashboard使用ADD . /src
。这是一种不好的做法(因为你遇到的问题)。您可以采用两种不同的方法来解决它:
每当您更改工作目录中的任何(Dockerfile ADD
到/src
)时,您需要重建以使更改生效。例外情况是src/Parse-Dashbaord/parse-dashboard-config.json
,我们将使用卷装入。{1}}。工作流程几乎与自述文件中的工作流程相同:
$ 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所基于的官方Node图像。
在这种情况下,Docker不会为您运行构建过程,因此您应该在启动Docker之前在主机上自行完成:
$ npm install
$ npm run build
现在,我们可以启动通用Node Docker镜像,并要求它为我们的项目目录服务。
$ docker run -d -p 8080:4040 -v ./:/src node:4.7.2 "cd /src && npm run dashboard"
更改将立即生效,因为您将./
作为卷安装到图像中。因为没有使用ADD
,所以每次都不需要重建图像。我们可以使用通用节点图像,因为如果我们不是ADD
目录并运行构建命令,那么我们的图像与官方图像的作用不同。