2017-07-17 113 views
0

我無法訪問使用docker-compose創建的容器中的內容;有人向我建議,這可能是因爲主機上的內容文件夾未正確安裝。 (注:我不知道如何驗證這個意見,所以我必須假設它是正確的。)無法看到容器內的文件

這是我的docker-compose.yml文件:

version: "2.1" 
services: 
    docs: 
    image: docs/docstage 
    ports: 
    - "4000:4000" 
    volumes: 
    - "./:/usr/src/app" 

這裏是我的docker-compose命令的輸出:

D:\Dev\Git\docker.github.io>docker-compose up 
Creating dockergithubio_docs_1 ... 
Creating dockergithubio_docs_1 ... done 
Attaching to dockergithubio_docs_1 
docs_1 | Configuration file: none 
docs_1 | Configuration file: none 
docs_1 |    Source: /usr/src/app 
docs_1 |  Destination: /_site 
docs_1 | Incremental build: disabled. Enable with --incremental 
docs_1 |  Generating... 
docs_1 |      done in 0.017 seconds. 
docs_1 | Auto-regeneration: enabled for '/usr/src/app' 
docs_1 | Configuration file: none 
docs_1 |  Server address: http://0.0.0.0:4000/ 
docs_1 | Server running... press ctrl-c to stop. 
docs_1 | [2017-07-17 20:58:02] ERROR `/favicon.ico' not found. 

...這裏是結果:

C:\Users\Admin>docker exec -it 863a59969066 bash 
[email protected]:/usr/src/app# ls 
[email protected]:/usr/src/app# 

正如我們所看到的,療法e在容器中沒有內容。此外,瀏覽到該網址會顯示一個空目錄:

enter image description here

這裏是docker container inspect結果:

C:\Users\Admin>docker inspect dockergithubio_docs_1 
[ 
    { 
     "Id": "863a59969066444d0b6e908a46d0f05b68605b7fe72bfd4b0ddf2036847b0779", 
     "Created": "2017-07-17T20:57:06.7250794Z", 
     "Path": "/bin/sh", 
     "Args": [ 
      "-c", 
      "jekyll serve -d /_site --watch -H 0.0.0.0 -P 4000" 
     ], 
     "State": { 
      "Status": "running", 
      "Running": true, 
      "Paused": false, 
      "Restarting": false, 
      "OOMKilled": false, 
      "Dead": false, 
      "Pid": 3252, 
      "ExitCode": 0, 
      "Error": "", 
      "StartedAt": "2017-07-17T20:57:08.0003358Z", 
      "FinishedAt": "0001-01-01T00:00:00Z" 
     }, 
     "Image": "sha256:9670258d73f081ef2c7dd476c56fc5945627ee68867e1296fbe19e612ddd29a4", 
     "ResolvConfPath": "/var/lib/docker/containers/863a59969066444d0b6e908a46d0f05b68605b7fe72bfd4b0ddf2036847b0779/resolv.conf", 
     "HostnamePath": "/var/lib/docker/containers/863a59969066444d0b6e908a46d0f05b68605b7fe72bfd4b0ddf2036847b0779/hostname", 
     "HostsPath": "/var/lib/docker/containers/863a59969066444d0b6e908a46d0f05b68605b7fe72bfd4b0ddf2036847b0779/hosts", 
     "LogPath": "/var/lib/docker/containers/863a59969066444d0b6e908a46d0f05b68605b7fe72bfd4b0ddf2036847b0779/863a59969066444d0b6e908a46d0f05b68605b7fe72bfd4b0ddf2036847b0779-json.log", 
     "Name": "/dockergithubio_docs_1", 
     "RestartCount": 0, 
     "Driver": "overlay2", 
     "MountLabel": "", 
     "ProcessLabel": "", 
     "AppArmorProfile": "", 
     "ExecIDs": null, 
     "HostConfig": { 
      "Binds": [ 
       "/D/Dev/Git/docker.github.io:/usr/src/app:rw" 
      ], 
      "ContainerIDFile": "", 
      "LogConfig": { 
       "Type": "json-file", 
       "Config": {} 
      }, 
      "NetworkMode": "dockergithubio_default", 
      "PortBindings": { 
       "4000/tcp": [ 
        { 
         "HostIp": "", 
         "HostPort": "4000" 
        } 
       ] 
      }, 
      "RestartPolicy": { 
       "Name": "", 
       "MaximumRetryCount": 0 
      }, 
      "AutoRemove": false, 
      "VolumeDriver": "", 
      "VolumesFrom": [], 
      "CapAdd": null, 
      "CapDrop": null, 
      "Dns": null, 
      "DnsOptions": null, 
      "DnsSearch": null, 
      "ExtraHosts": null, 
      "GroupAdd": null, 
      "IpcMode": "", 
      "Cgroup": "", 
      "Links": null, 
      "OomScoreAdj": 0, 
      "PidMode": "", 
      "Privileged": false, 
      "PublishAllPorts": false, 
      "ReadonlyRootfs": false, 
      "SecurityOpt": null, 
      "UTSMode": "", 
      "UsernsMode": "", 
      "ShmSize": 67108864, 
      "Runtime": "runc", 
      "ConsoleSize": [ 
       0, 
       0 
      ], 
      "Isolation": "", 
      "CpuShares": 0, 
      "Memory": 0, 
      "NanoCpus": 0, 
      "CgroupParent": "", 
      "BlkioWeight": 0, 
      "BlkioWeightDevice": null, 
      "BlkioDeviceReadBps": null, 
      "BlkioDeviceWriteBps": null, 
      "BlkioDeviceReadIOps": null, 
      "BlkioDeviceWriteIOps": null, 
      "CpuPeriod": 0, 
      "CpuQuota": 0, 
      "CpuRealtimePeriod": 0, 
      "CpuRealtimeRuntime": 0, 
      "CpusetCpus": "", 
      "CpusetMems": "", 
      "Devices": null, 
      "DeviceCgroupRules": null, 
      "DiskQuota": 0, 
      "KernelMemory": 0, 
      "MemoryReservation": 0, 
      "MemorySwap": 0, 
      "MemorySwappiness": -1, 
      "OomKillDisable": false, 
      "PidsLimit": 0, 
      "Ulimits": null, 
      "CpuCount": 0, 
      "CpuPercent": 0, 
      "IOMaximumIOps": 0, 
      "IOMaximumBandwidth": 0 
     }, 
     "GraphDriver": { 
      "Data": { 
       "LowerDir": "/var/lib/docker/overlay2/8f7ba6861640a6fb639f64c475db0260cb4c9ded686711b05625ff37c19737fa-init/diff:/var/lib/docker/overlay2/0772e69f7faba8d149e7d9aed149d4607c905f1d01b28b97f5453772e5326904/diff:/var/lib/docker/overlay2/6d2a854de0c3c7af4e8e3b6ef831af1dde8c400f5aa8fd809d76a06f3ba5c705/diff:/var/lib/docker/overlay2/8a4466b60f60d0141625c1ad32233f3fee49821f534f8709685c2d6514b9d3f6/diff:/var/lib/docker/overlay2/6a4fe33cae424e9a671300332244aa19f5a314d90c945b399f35ea487e01d333/diff:/var/lib/docker/overlay2/de35de0b23cb93e811a7f2ec6b59e3e282faf770131179c60cad588c522551be/diff:/var/lib/docker/overlay2/e7f896a4b4d0da7ddbddd208a9130affea2358f4b1fd147f403b82fe7fe748aa/diff:/var/lib/docker/overlay2/b09694bfeb6b2e7d75de351286d95bf9af18181004f9d3c2d9bf73ea6538ba56/diff:/var/lib/docker/overlay2/4feb0e4dccefd6570fee715baf80ebe6ea77ab133cc3ac15fd850bb737f7e8b2/diff:/var/lib/docker/overlay2/1291c76b0bb03c133b70dad4dd08147f3c753b52f8ac3070d2e0f9bbdd99e874/diff:/var/lib/docker/overlay2/9166f2a32c7b3284fab5a95803ac66c83cba936161083f0405b630178f5dbeb2/diff:/var/lib/docker/overlay2/46499476944e8234be84f662104f3968f8717f3e36a67bb06d814f9c70998d9f/diff:/var/lib/docker/overlay2/fc1f9d566f52e9f994bd02dd73528fb3402a98a2618c5b3a9dbf10c8c5ae554c/diff", 
       "MergedDir": "/var/lib/docker/overlay2/8f7ba6861640a6fb639f64c475db0260cb4c9ded686711b05625ff37c19737fa/merged", 
       "UpperDir": "/var/lib/docker/overlay2/8f7ba6861640a6fb639f64c475db0260cb4c9ded686711b05625ff37c19737fa/diff", 
       "WorkDir": "/var/lib/docker/overlay2/8f7ba6861640a6fb639f64c475db0260cb4c9ded686711b05625ff37c19737fa/work" 
      }, 
      "Name": "overlay2" 
     }, 
     "Mounts": [ 
      { 
       "Type": "bind", 
       "Source": "/D/Dev/Git/docker.github.io", 
       "Destination": "/usr/src/app", 
       "Mode": "rw", 
       "RW": true, 
       "Propagation": "rprivate" 
      } 
     ], 
     "Config": { 
      "Hostname": "863a59969066", 
      "Domainname": "", 
      "User": "", 
      "AttachStdin": false, 
      "AttachStdout": false, 
      "AttachStderr": false, 
      "ExposedPorts": { 
       "4000/tcp": {} 
      }, 
      "Tty": false, 
      "OpenStdin": false, 
      "StdinOnce": false, 
      "Env": [ 
       "PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 
       "RUBY_MAJOR=2.3", 
       "RUBY_VERSION=2.3.3", 
       "RUBY_DOWNLOAD_SHA256=241408c8c555b258846368830a06146e4849a1d58dcaf6b14a3b6a73058115b7", 
       "RUBYGEMS_VERSION=2.6.8", 
       "BUNDLER_VERSION=1.13.6", 
       "GEM_HOME=/usr/local/bundle", 
       "BUNDLE_PATH=/usr/local/bundle", 
       "BUNDLE_BIN=/usr/local/bundle/bin", 
       "BUNDLE_SILENCE_ROOT_WARNING=1", 
       "BUNDLE_APP_CONFIG=/usr/local/bundle", 
       "NPM_CONFIG_LOGLEVEL=info", 
       "NODE_MAJOR_VERSION=4", 
       "GITHUB_GEM_VERSION=112" 
      ], 
      "Cmd": [ 
       "/bin/sh", 
       "-c", 
       "jekyll serve -d /_site --watch -H 0.0.0.0 -P 4000" 
      ], 
      "ArgsEscaped": true, 
      "Image": "docs/docstage", 
      "Volumes": { 
       "/usr/src/app": {} 
      }, 
      "WorkingDir": "/usr/src/app", 
      "Entrypoint": null, 
      "OnBuild": null, 
      "Labels": { 
       "com.docker.compose.config-hash": "f86127819d2d94cf924f8d7ef0fe8579286043aebafc2940e6ca0b1d1b4828b7", 
       "com.docker.compose.container-number": "1", 
       "com.docker.compose.oneoff": "False", 
       "com.docker.compose.project": "dockergithubio", 
       "com.docker.compose.service": "docs", 
       "com.docker.compose.version": "1.14.0" 
      } 
     }, 
     "NetworkSettings": { 
      "Bridge": "", 
      "SandboxID": "b6ad8a59f8f902f5a2fff0e4d6656bed6b3ecf1904424504886543614524f570", 
      "HairpinMode": false, 
      "LinkLocalIPv6Address": "", 
      "LinkLocalIPv6PrefixLen": 0, 
      "Ports": { 
       "4000/tcp": [ 
        { 
         "HostIp": "0.0.0.0", 
         "HostPort": "4000" 
        } 
       ] 
      }, 
      "SandboxKey": "/var/run/docker/netns/b6ad8a59f8f9", 
      "SecondaryIPAddresses": null, 
      "SecondaryIPv6Addresses": null, 
      "EndpointID": "", 
      "Gateway": "", 
      "GlobalIPv6Address": "", 
      "GlobalIPv6PrefixLen": 0, 
      "IPAddress": "", 
      "IPPrefixLen": 0, 
      "IPv6Gateway": "", 
      "MacAddress": "", 
      "Networks": { 
       "dockergithubio_default": { 
        "IPAMConfig": null, 
        "Links": null, 
        "Aliases": [ 
         "docs", 
         "863a59969066" 
        ], 
        "NetworkID": "8c5980632aa0810c818544573e76247a7b27f95e86d137e5f755cbff5b16b6aa", 
        "EndpointID": "ead13e880ebeede298f16c912d4eac0f5eb89ec5600da208202d54868273927d", 
        "Gateway": "172.18.0.1", 
        "IPAddress": "172.18.0.2", 
        "IPPrefixLen": 16, 
        "IPv6Gateway": "", 
        "GlobalIPv6Address": "", 
        "GlobalIPv6PrefixLen": 0, 
        "MacAddress": "02:42:ac:12:00:02", 
        "DriverOpts": null 
       } 
      } 
     } 
    } 
] 

乍一看,這似乎不錯,但我必須承認,在缺乏知識準確地解釋細節。

我已經打開了一個問題here,但它似乎耗盡了該線程上的所有資源。

如何確定是否發生安裝錯誤,如果是的話我可以修復它?

回答

1

您需要配置docker以將您的D驅動器共享到嵌入式docker VM中。沒有這一點,虛擬機在這個位置沒有任何東西,當在一個容器中將一個卷掛載到一個不存在的目錄中(在docker虛擬機中,而不是在windows機器上)時,你會得到空目錄。

windows install steps如何分享這個驅動器:

windows drive sharing menu

+0

既然你提到它,我不記得被提示來分享我的d:安裝圖像的過程中駕駛。我這麼做了,如[這裏]所示(https://i.stack.imgur.com/9U44W.png)。從那以後,我重新啓動並重新啓動了Docker服務,以及有問題的容器。還有另一種調查方法嗎? – InteXX

+0

啊哈!現在我們[越來越近](https://i.stack.imgur.com/FKNgP.png)。 – InteXX

+0

由於[其他錯誤](https://github.com/docker/docker.github.io/issues/3808#issuecomment-315935709)在我暫時禁用了防火牆後,我不情願地選擇了[暫存文檔](https://github.com/docker/docker.github.io#staging-the-docs)。我並不希望它能夠工作 - 在所有這些其他錯誤之後,你知道 - 但最終它[正確地解僱了](https://github.com/docker/docker.github.io/issues/3808#issuecomment -315941143)。在你看來,驅動共享問題是否仍然適用(現在我們使用Jekyll而不是'docker-compose')? – InteXX