[PACKAGE] Docker v18.03.1 CE for WD My Cloud

Hey all,

I was able to install Docker on OS5 on my PR4100 using the installer file linked through this issue on github https://github.com/WDCommunity/wdpksrc/issues/57

Seems like all’s working as expected, except IPv6 does not appear to work for containers under the “bridge” network. Specifically, I cannot browse to any website being hosted by a container on the “bridge” network if using a DNS name that resolves to an IPv6 address for the NAS.

If the container is on the “host” network I can easily browse to it with a DNS name that resolves to an IPv6 address.

I thought this worked before, but I’m not quite sure at this point. I also can’t figure out how to enable the default “bridge” network for IPv6. Anyone have any suggestions?

Thanks in advance!
-Max

**Edited to add:
I created a new bridge network with identical configuration to the default bridge, just a different subnet, and it appears to be a non-issue on the new bridge. Looks like there’s some bug with the default bridge.

Hi all,

has anybody ever had any problems with crond’s in containers? For me it seems that cron daemons very reliably will crash (quit? exit?) at exactly midnight. The cron logs (within the containers) have not been a help as to where to start looking for the culprit.

I need it primarily for guide2go to update every couple of hours, but obviously it will cease to update with the crond down.

Any hints or advice would be greatly appreciated.

Thanks.

Upon further investigation: My PR4100 runs “random_chk_central -s” and “random_check -s” every night at midnight via its own crontab. Both, when invoked manually, will reliably kill crond in my containers.

Anybody know what these are supposed to do other than mess with docker containers?

Thanks.

Hi @Tfl,
I trust all is well with you. till today i’m still very much grateful for your assistant on helping me install docker on my EX2100 back in the days.

Re. Docker v18.03.1 CE for WD My Cloud
I have attempted to follow your instruction however have hit into some errors i just don’t understand how to resolve, i need to highlight that i’m a straight noob so pardon me for my sluggish understanding.

  1. I first updated the docker with this bin source
    https://github.com/WDCommunity/wdpksrc/releases/download/docker-v19.03.8/WDMyCloudEX2100_docker_19.03.8.bin

  2. Then deployed the portainer instruction Getting Started with Portainer Business
    $ docker volume create portainer_data $ docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

then i started to see errors such as
Error response from daemon: driver failed programming external connectivity on endpoint portainer (14d757c57f283ac6aabc85979b8ab9bb595ef7cc529bef3483476551878e1658): Error starting userland proxy: listen tcp 0.0.0.0:9000: bind: address already in use.

I assumed this is because of twonky using the port 9000, but before i had research on this i found myself following other steps to try to undo what ive done, or even remove the docker and portainer.
im sort of lost now on how to address this issue and would love some help.

I would like to undo what i’ve done and start from the beginning if its not a hassle.
i have to my ammunition;

  • OpenSSH client to talk to my Nas
  • NAS UI
  • An App on my Android Tablet that allows me to view, navigate through the directories of my Nas.
  • Zoom if deemed necessary to remote in.

Thank you in Advance

@Fewzhon
I’d check the github issues, there’s several instructions to un*** the NAS or to run portainer on another port.
There’s also something in the wiki.

@ombre33 my first guess is that it’s safe to kill this service.

1 Like

Hi Tfl,

thanks for the feedback. In the meantime I’ve worked around the issue with a tiny script that runs 5 minutes past midnight and checks if the containers crond is still running and restarts it in case it did get killed again.

Thanks.

Hello,
First of all - thanks for your work.

Lately I was trying to install docker 19.03.8 for armhf (as JediNite suggested in New firmware v5.06.115 docker SECCOMP error on EX2 Ultra - #2 by JediNite) on WD MyCloud EX2 Ultra (new OS 5.06.115) following this instructions Install Docker Engine from binaries | Docker Documentation
But first I have a problem when trying to copy files to /usr/bin/
cp: error writing ‘/usr/bin/containerd-shim’: No space left on device
cp: error writing ‘/usr/bin/ctr’: No space left on device
cp: error writing ‘/usr/bin/docker’: No space left on device
cp: error writing ‘/usr/bin/docker-init’: No space left on device
cp: error writing ‘/usr/bin/docker-proxy’: No space left on device
cp: error writing ‘/usr/bin/dockerd’: No space left on device
cp: error writing ‘/usr/bin/runc’: No space left on device

and then when I type any docker command (like docker ps or docker --version) there is no answer from bash.

Is there any chance to update WdcommunityCom sources site with this docker for WD MyCloud EX2 Ultra OS 5 that have the option to install manual from WD Web GUI? By the way You could also change a default Portainer port to 9001 to avoid conflict with WD EX2 Twonky Server.

@elenril,

Those instructions are pretty generic, and won’t work in this case for the NAS. Some of the filesystems are configured as either read only or have a limited amount of space. For a docker install on these devices, you need to put the binaries into a location with heaps of space (eg. /shares/Volume_1/Nas_Prog/docker is used when you install it as a docker package from the WDCommunity site).

If you look at the install script it puts these binaries into /shares/Volume_1/Nas_Prog/docker/docker. After this a series of symbolic links is made in /sbin by the script - this line does the magic :

ln -s $(readlink -f ${APKG_PATH})/docker/* /sbin

Below is how mine looks :

root@WDMyCloudEX4100 docker # ls -al /sbin | grep docker
lrwxrwxrwx    1 root     root            47 Nov 27 07:28 containerd -> /mnt/HD/HD_a2/Nas_Prog/docker/docker/containerd
lrwxrwxrwx    1 root     root            52 Nov 27 07:28 containerd-shim -> /mnt/HD/HD_a2/Nas_Prog/docker/docker/containerd-shim
lrwxrwxrwx    1 root     root            40 Nov 27 07:28 ctr -> /mnt/HD/HD_a2/Nas_Prog/docker/docker/ctr
lrwxrwxrwx    1 root     root            43 Nov 27 07:28 docker -> /mnt/HD/HD_a2/Nas_Prog/docker/docker/docker
lrwxrwxrwx    1 root     root            48 Nov 27 07:28 docker-init -> /mnt/HD/HD_a2/Nas_Prog/docker/docker/docker-init
lrwxrwxrwx    1 root     root            49 Nov 27 07:28 docker-proxy -> /mnt/HD/HD_a2/Nas_Prog/docker/docker/docker-proxy
lrwxrwxrwx    1 root     root            44 Nov 27 07:28 dockerd -> /mnt/HD/HD_a2/Nas_Prog/docker/docker/dockerd
lrwxrwxrwx    1 root     root            41 Nov 27 07:28 runc -> /mnt/HD/HD_a2/Nas_Prog/docker/docker/runc

@Tfl is working on updating the builds available from WDCommunity and we have made some changes to the docker installation for armhf in light of the OS5 release, that should now do this correctly with the binaries directly available from docker.

Hope this helps!!

Cheers,

JediNite

OS5 docker packages will be provided on Bintray moving onwards.
If you face issues, please make clear tickets on github.
Feel free to update the wiki with your workarounds.

@Tfl,

Just tested the docker package on the EX4100 and found that the “update_portainer.sh” file did not have execute permissions on it. I think the “shebang” at the top of the script was still around the wrong way as well. It looks right on the Github code though, so not sure what is going on here.

Cheers,

JediNite

1 Like

New to this, but found out that docker isn’t available to Mirror Gen1. What’s the reason? And what can I do? I want to run a Gitlab-server and install Home Assistant

Anyone able to help me configure Portainer? I have it running but it wants me to “connect to the docker environment” but when telling it to just use the local one, I get this cryptic error:

Failure

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Anyone have any clue what that means? I’m not a Linux guru by any means. Thanks

@Zorn,

This error sounds like the docker file that is created by docker is not accessible for some reason. Interesting that you are saying portainer is running though as it is dependent on docker to be working in the first place.

JediNite

Yes - it’s missing some kind of configuration file but I have absolutely zero clue how to create it, since apparently everything has to be done through SSH. I really wish WD would allow the root of the drive to be exposed to a GUI so I could actually have any hopes of working with it.

Hello! Noob here.
I decided to expand the capabilities of my EX2 Ultra by installing Docker. Installation went smoothly - Docker is running.
I am having issues installing applications via Docker - they all have segmentation fault on logs. What can I do to fix that?
OS version -5.24.108
Docker version - 20.10.14
My stacks configs:

version: '3.9'
services:
    kavita:
        image: kizaing/kavita:latest    # Change latest to nightly for latest develop builds (can't go back to stable)
        container_name: kavita
        network_mode: 'bridge'
        user: 1000:1000
        volumes:
            - /shares/Volume_2/Family_Library:/manga            # Manga is just an example you can have the name you want. See the following
            - /shares/Volume_1/Public/Apps/Kavita:/kavita/config 
            - /shares/Volume_1/Public/Apps/Kavita:/cache
            - /shares/Volume_1/Public/Apps/Kavita/Bookmarks:/bookmarks # Change './data if you want to have the config files in a different place.
                                                                       # /kavita/config must not be changed
        environment:
            - TZ=Russia/Moscow
        ports:
            - "5000:5000" # Change the public port (the first 5000) if you have conflicts with other services
        restart: unless-stopped
version: '3.5'
services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    user: 1000:1000
    ports:
    - 8096:8096
    network_mode: 'bridge'
    volumes:
      - /shares/Volume_1/Public/Apps/Jellyfin/config:/config
      - /shares/Volume_1/Public/Apps/Jellyfin/cache:/cache
      - /shares/Volume_1/Family Theatre:/media:ro
    restart: 'unless-stopped'

What?

Good for you.

Can we ALL keep politics out of this forum ? Not all Russians support what Putin is doing against the Ukraine.