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.
- Why is docker trying to mkdir an already existing location before trying to mount it in the container?
- How to I tell docker not to try and create the source of the volume?
- 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