当前位置: 首页 > 面试题库 >

Docker绑定安装-在浏览器上看不到更改

邓深
2023-03-14
问题内容

我在Windows Home上使用docker-toolbox。我能够运行jekyll-serv
Web服务器图像来查看浏览器上的默认页面,但是当我尝试在VS Code上编辑文件时,刷新浏览器后看不到更改。

知道为什么刷新后看不到更改吗?

复制步骤:

首先,我将git将此存储库克隆到了我的库中c:/Users/shaharshokrani/udemy-docker- mastery/bind-mount-sample1(可以ls在“ cmder”控制台上查看文件)。

然后,我可以使用以下命令运行该图像:

docker run -v //c/users/shaharshokrani/udemy-docker-mastery/bindmount- sample-1:/site bretfisher/jekyll new .

docker container run -p 80:4000 --name myjekyll -v //c/users/shaharshokrani/udemy-docker-mastery/bindmount-sample-1:/site bretfisher/jekyll-serve

而且我可以在上看到默认的欢迎页面http://192.168.99.100/

我尝试使用VS Code编辑和保存此文件,2017-03-05-welcome-to-jekyll.markdown但刷新浏览器后看不到更改。

我还检查了VM的共享网络-它显示c:/users/

即使Mounts在检查中看起来也不错:

"Mounts": [
    {
        "Type": "bind",
        "Source": "/c/users/shaharshokrani/udemy-docker-mastery/bindmount-sample-1",
        "Destination": "/site",
        "Mode": "",
        "RW": true,
        "Propagation": "rprivate"
    }
],

和图像dockerfile的CMD具有--force_polling标志。

图像(bretfisher/jekyll-servebretfisher/jekyll)均为最新图像。

docker container logs -f myjekyll看起来不错:

Bundle complete! 4 Gemfile dependencies, 28 gems now installed.
Bundled gems are installed into `/usr/local/bundle`
Configuration file: /site/_config.yml
            Source: /site
       Destination: /site/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
       Jekyll Feed: Generating feed for posts
                    done in 1.031 seconds.
 Auto-regeneration: enabled for '/site'
    Server address: http://0.0.0.0:4000/
  Server running... press ctrl-c to stop.

Docker版本:

Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24302
 Built: Fri Mar 23 08:31:36 2018
 OS/Arch:       windows/amd64
 Experimental:  false
 Orchestrator:  swarm

Server: Docker Engine - Community
 Engine:
  Version:      19.03.3
  API version:  1.40 (minimum version 1.12)
  Go version:   go1.12.10
  Git commit:   a872fc2f86
  Built:        Tue Oct  8 01:01:20 2019
  OS/Arch:      linux/amd64
  Experimental: false
 containerd:
  Version:      v1.2.10
  GitCommit:            b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:      1.0.0-rc8+dev
  GitCommit:            3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:      0.18.0
  GitCommit:            fec3683

问题答案:

确定的问题

绑定安装实际上不适用于docker toolbox:

Docker for Windows不会将主机的已安装文件夹中的文件更改事件传播到容器

该脚本旨在解决此问题:docker-windows-volume-watcher。

边注

这是在容器外部操作数据的常见问题。

特别是对于jekyll,即使是以下问题中描述的解决方案也不适用于基于Windows的系统。

https://github.com/jekyll/jekyll-
watch/issues/17

简而言之,您需要使用--force_polling标志执行jekyll ( 不适用于Windows Hosts
)。您可以在jekyll文档中找到它

https://jekyllrb.com/docs/configuration/options/

在基于Linux的html" target="_blank">系统上,它可以直接使用,因为问题中bretfisher/jekyll- serve使用的映像已经利用了该--force_polling标志。

刚跑

docker run --rm -it -e JEKYLL_NEW=true -p 8080:4000 -v (pwd):/site bretfisher/jekyll new .

创建一个新的jekyll网站,并

docker run --rm -it -e JEKYLL_NEW=true -p 8080:4000 -v (pwd):/site bretfisher/jekyll-serve

可以将其安装到我的计算机(linux)上的目录中,并能够使用传播到jekyll的更改来编辑文件。



 类似资料:
  • 我正在运行docker compose测试;我的堆栈中执行实际测试的部分是以下服务 命令失败如下: 正在装载的文件确实存在: 此外,当试图将装载绑定到一个不存在的文件时,我没有得到与装载相关的错误,而是得到了与上面相同的错误 我错过了什么? 编辑:关于提到的问题,这里是: 此外,测试仪的服务配置与本项目完全相同,运行良好。 关于权限问题:

  • 问题内容: 另一个标题相同的问题已经关闭,但是使用该问题中给出的解决方案无法解决我的错误。 Mac OSX El Capitan Node[v5.6.0] Npm [v3.6.0] 我成功使用安装了Browser-Sync: 但是当我输入以下内容来检查浏览器同步版本时: 我收到此错误: 问题答案: 通过运行检查npm在哪里安装二进制文件,然后将其添加到您的中。

  • 我研究了一下,但我得到了解决办法: 它给出了错误: 无法加载配置文件。配置文件目录:C:\users\hppav1~1\appdata\local\temp\tmppcuwx3xd Firefox输出:无 当我尝试那个解决方案的时候。 它给出了以下错误: 回溯(最近一次调用):文件“c:/python34/torfirstscript.py”,第10行,在browser=webdriver.fir

  • 在< code>win7 64bit中安装< code>docker toolbox 我的代码: 我在chrome浏览器中看不到任何结果。 重新安装 192.168.99.100:8000 显示: 运行: 显示: 运行: 显示: 更新 http://192.168.99.100:8000/ docker内部, > < li> 首先检查nginx是否正在运行。 查看哪个进程正在使用端口80

  • 问题内容: 如何使用jQuery将函数绑定到HTML5 localStorage更改事件? 我已经尝试了上述方法,但没有显示警报。 更新 :它可以在Firefox 3.6中运行,但不能在Chrome8或IE8中运行,因此问题应该更多是“如何在所有浏览器上使用jQuery绑定到localStorage更改事件?” 问题答案: 事实证明,这实际上是正确的,并且我误解了规范 当在与本地存储区域相关联的存

  • 问题内容: 首次运行高山docker容器并尝试进行openssh安装时,会发生以下情况: 应该如何安装openssh? 问题答案: 跑第一。以下粘贴包含一个完整的示例: