Docker Community Forums

Share and learn in the Docker community.

Cannot start service : error while creating mount source path '/wdred/media': mkdir /wdred: read-only file system


(Pauldubar) #1

I’ve been fighting with this issue for some time and have almost given up!

I am trying to launch plex media server in a container…however I believe this is a generic issue creating a volume from an existing source.

When I specify volumes in the same filesystem as docker itself, the container is successfully created…
…snip…

volumes:
- {USERDIR}/docker/plexms:/config - {USERDIR}/Downloads/plex_tmp:/transcode
- {USERDIR}/media/media:/media - {USERDIR}/docker/shared:/shared
…snip…

This patch gets created and mounted in the container

ls -ld /home/pauld/media/media
drwxr-xr-x 2 root root 4096 Oct 31 13:38 /home/pauld/media/media

echo $USERDIR
/home/pauld

I am running docker compose whilst in this directory.

But if I specify an existing directory as the volume source, which is on a separate mount point, I always get this error

"ERROR: for plexms Cannot start service plexms: error while creating mount source path ‘/wdred/media’: mkdir /wdred: read-only file system"

…snip…

volumes:
  - ${USERDIR}/docker/plexms:/config
  - ${USERDIR}/Downloads/plex_tmp:/transcode
  - /wdred/media:/media <-----------------------------------------only this changed
  - ${USERDIR}/docker/shared:/shared

…snip…

Other environment information remains unchanged

environment:
  - TZ=${TZ}
  - HOSTNAME="DockerPlex"
  - PLEX_CLAIM="xxxxxxxxxxx"
  - PLEX_UID=114
  - PLEX_GID=127
  - ADVERTISE_IP="http://xxx.xxx.xxx.xxx:32400/"
  - CHANGE_CONFIG_DIR_OWNERSHIP="false"

The source has permissions for others to read the tree

ls -ld /wdred /wdred/media
drwxr-xr-x 3 root root 4096 Oct 29 20:41 /wdred
drwxr-xr-x 12 root root 4096 Oct 30 20:23 /wdred/media

Even if I change ownerships and permissions to allow plex gid rwx, I get the same error.

  1. Why is docker trying to mkdir an already existing location before trying to mount it in the container?
  2. How to I tell docker not to try and create the source of the volume?
  3. Is my compose wrong if the source already exists/contains data? All I am wanting to do is make the files from /wdred/media available in my container , which shuld be a basic task in a container, right?

My setup is on Ubuntu 18.04.1 LTS

Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.4
Git commit: e68fc7a
Built: Mon Oct 1 14:25:31 2018
OS/Arch: linux/amd64
Experimental: false

Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.4
Git commit: e68fc7a
Built: Mon Oct 1 14:25:33 2018
OS/Arch: linux/amd64
Experimental: false

pauld@nas01:~$ docker info
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 4
Server Version: 18.06.1-ce
Storage Driver: aufs
Root Dir: /var/snap/docker/common/var-lib-docker/aufs
Backing Filesystem: extfs
Dirs: 22
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: N/A (expected: 69663f0bd4b60df09991c08812a60108003fa340)
init version: 949e6fa (expected: fec3683)
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-38-generic
Operating System: Ubuntu Core 16
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 15.53GiB
Name: nas01
ID: VBWG:KG3H:M7IZ:CTXP:43ZL:GFDN:A2CI:3HTJ:CSOA:YWF4:MXOR:NMSX
Docker Root Dir: /var/snap/docker/common/var-lib-docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 41
Goroutines: 58
System Time: 2018-10-31T02:40:30.077914945Z
EventsListeners: 0
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

WARNING: No swap limit support

The source I am trying to mount in the container is mounted with

/dev/mapper/vgwdred01-lvmedia on /wdred/media type ext4 (rw,relatime,stripe=4096,data=ordered)

Even if I specify /wdred/media/tv as the source it fails with same error

ERROR: for plexms Cannot start service plexms: error while creating mount source path ‘/wdred/media/tv’: mkdir /wdred: read-only file system

pauld@nas01:~$ ls -ld /wdred/media/tv
drwxrwsr-x 91 pauld plex 4096 Oct 5 19:52 /wdred/media/tv