Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LCOW and sqlite volume i/o error #1385

Closed
Andy2244 opened this issue Dec 5, 2017 · 6 comments
Closed

LCOW and sqlite volume i/o error #1385

Andy2244 opened this issue Dec 5, 2017 · 6 comments

Comments

@Andy2244
Copy link

Andy2244 commented Dec 5, 2017

Expected behavior

Able to use sqlite as persistent storage via volumes.

Actual behavior

Getting i/o errors while trying to access sqlite database files on a volume, via local driver in a lcow setup.

Information

docker info

Server Version: 17.11.0-ce
Storage Driver: windowsfilter (windows) lcow (linux)
 LCOW:
Logging Driver: json-file
Plugins:
 Volume: local
 Network: ics l2bridge l2tunnel nat null overlay transparent
 Log: awslogs etwlogs fluentd json-file logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 16299 (16299.15.amd64fre.rs3_release.170928-1534)
Operating System: Windows 10 Pro
OSType: windows
Architecture: x86_64
CPUs: 4
Total Memory: 15.95GiB
Docker Root Dir: C:\ProgramData\Docker\lcow

docker volume inspect vol1

        "Driver": "local",
        "Labels": {},
        "Mountpoint": "C:\\ProgramData\\Docker\\lcow\\volumes\\vol1\\_data",
        "Name": "vol1",
        "Options": {},
        "Scope": "local"

Steps to reproduce the behavior

docker volume create vol1
docker run --rm -it --name="headphones" -p 8181:8181 -v vol1:/config linuxserver/headphones

INFO :: MainThread : Checking to see if the database has all tables....
ERROR :: MainThread : Can't connect to the database: disk I/O error

The "headphones.db" file in the vol1 folder is of size zero and localhost:8181 returns an error, while all other more trivial config files are created correctly.

@Andy2244
Copy link
Author

Andy2244 commented Dec 8, 2017

Just tried the latest lcow/docker master via this linuxkit/lcow.yml, but still get the same error:

docker -v
master-dockerproject-2017-12-07, build ace54179

kernel:
  image: linuxkit/kernel:4.14.4
  cmdline: "console=ttyS0"
  tar: none
init:
  - linuxkit/init-lcow:33a4ce747fe6fb6e5edc1c9f19b2087299ecd662
  - linuxkit/runc:abc3f292653e64a2fd488e9675ace19a55ec7023
files:
  - path: etc/linuxkit.yml
    metadata: yaml
trust:
  org:
    - linuxkit

@Andy2244
Copy link
Author

Andy2244 commented Dec 8, 2017

Here is what happens if you try to mount "/config" on a fat32/exFat filesystem.

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: container 8a883729afa5e3c5dd23d01942777d0780d6be567bf721fa5e0d69f114265cb7 encountered an error during CreateContainer: failure in a Windows system call: Catastrophic failure (0x8000ffff) extra info: {"SystemType":"container","Name":"8a883729afa5e3c5dd23d01942777d0780d6be567bf721fa5e0d69f114265cb7","Owner":"docker","LayerFolderPath":"C:\\ProgramData\\Docker\\lcow\\lcow\\8a883729afa5e3c5dd23d01942777d0780d6be567bf721fa5e0d69f114265cb7","Layers":[{"ID":"3158c057-f9a4-5142-80fa-2d8cea6609eb","Path":"C:\\ProgramData\\Docker\\lcow\\lcow\\137c4d72fdeabe6ede2d637e3fc2681b452e649a67c9953aa25ab6e9145a2eaa\\layer.vhd"},{"ID":"94147b45-1f40-547a-b208-1647015afbe9","Path":"C:\\ProgramData\\Docker\\lcow\\lcow\\c77b692be25251a2526d6f8ad7a5f4dc4263cce77d8abd701b050937bf65bcda\\layer.vhd"},{"ID":"47341e08-4505-5dc3-b2ec-351d3e706f5d","Path":"C:\\ProgramData\\Docker\\lcow\\lcow\\5e81edae47870c17c071252fab1eac57108545f22478111557b7af6be2d8a72e\\layer.vhd"},{"ID":"b9440148-563c-519c-a6b9-0bebac98c7c3","Path":"C:\\ProgramData\\Docker\\lcow\\lcow\\e942042f10acddd62c2adec7a69ca6f19b4191028520f60dfd664b627a4a847b\\layer.vhd"},{"ID":"abed4a92-cd93-50f0-a440-d2dfbc97ab91","Path":"C:\\ProgramData\\Docker\\lcow\\lcow\\ebfc873cf90f4da6583697c0a467d267293cb024df6b75667645a009d9fc1802\\layer.vhd"},{"ID":"400b5309-59cf-52b7-a3fc-32922217a73a","Path":"C:\\ProgramData\\Docker\\lcow\\lcow\\448c49ba2735db590c5e0aa7d19ca39226cf29c2368b76048b698c85f1c16119\\layer.vhd"},{"ID":"f4d39924-687f-5495-80bf-fc9968b29e42","Path":"C:\\ProgramData\\Docker\\lcow\\lcow\\141866a00889734c1c73ea087423c312196110c02d51b9d98bc98a99a455f515\\layer.vhd"}],"MappedDirectories":[{"HostPath":"a:\\config","ContainerPath":"/tmp/gcs/8a883729afa5e3c5dd23d01942777d0780d6be567bf721fa5e0d69f114265cb7/binds/config","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":true},{"HostPath":"C:\\ProgramData\\Docker\\lcow\\volumes\\0162e4a515dbe0a31203a732ab21b08350c3e35980ca03fb0c0b648be4b87dfc\\_data","ContainerPath":"/tmp/gcs/8a883729afa5e3c5dd23d01942777d0780d6be567bf721fa5e0d69f114265cb7/binds/downloads","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":true},{"HostPath":"C:\\ProgramData\\Docker\\lcow\\volumes\\e1cfaa15bc96f76bae71fe5701f0f56e63356b458f1cd3c1b5a8d5f9d0789972\\_data","ContainerPath":"/tmp/gcs/8a883729afa5e3c5dd23d01942777d0780d6be567bf721fa5e0d69f114265cb7/binds/music","ReadOnly":false,"BandwidthMaximum":0,"IOPSMaximum":0,"CreateInUtilityVM":true}],"HvPartition":true,"EndpointList":["40e72967-44b8-4c44-9b8f-5901b84f0878"],"HvRuntime":{"ImagePath":"C:\\Program Files\\Linux Containers","LinuxInitrdFile":"initrd.img","LinuxKernelFile":"bootx64.efi"},"AllowUnqualifiedDNSQuery":true,"ContainerType":"linux","TerminateOnLastHandleClosed":true}.

@docker-robott
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale comment.
Stale issues will be closed after an additional 30d of inactivity.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle stale

@Andy2244
Copy link
Author

/lifecycle frozen

@rn
Copy link
Contributor

rn commented Apr 28, 2018

Unfortunately, as I found out recently, LCOW implements local volumes the same way as it implements sharing host volumes. Both use the 9p filesystem which does not support certain operations such as locking, changing file modes or symlinks. This is not implemented by Docker but by Microsoft, so I'm closing this issue here.

You could file an issue in the upstream https://github.com/moby/moby repository, but there are already several issues related to the filesystem sharing:

@docker-robott
Copy link
Collaborator

Closed issues are locked after 30 days of inactivity.
This helps our team focus on active issues.

If you have found a problem that seems similar to this, please open a new issue.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle locked

@docker docker locked and limited conversation to collaborators Jun 25, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants