WDCommunity / wdpksrc

Cross compilation framework to create native packages for the Western Digital My Cloud
BSD 3-Clause "New" or "Revised" License
218 stars 54 forks source link

Docker installation on Ex2 Ultra #47

Closed maxence-leblanc closed 4 years ago

maxence-leblanc commented 4 years ago

Platform My Cloud Ex2 Ultra

Application Portainer/Docker

Describe the bug I have more or less accidentally fully wiped docker on my nas & tried to reinstall it. When i reinstall portainer from .bin (manual installation), the application is not launched.

When i execute ./install.sh . .. manually, docker is not installed (see logs).

Logs

Installing with APPDIR: ../docker / ../docker
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (23) Failed writing body (1328 != 1370)
No orig daemon found
ln: /sbin/*: File exists
Found existing docker storage. Reusing.
Docker setup NOK
Setting up docker
Found docker symlink
ln: /usr/lib/xtables/xtables: Read-only file system
Loading drivers
Loading /usr/local/modules/driver/nf_conntrack.ko
insmod: error inserting '/usr/local/modules/driver/nf_conntrack.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_conntrack.ko
Loading /usr/local/modules/driver/nf_nat.ko
insmod: error inserting '/usr/local/modules/driver/nf_nat.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_nat.ko
Loading /usr/local/modules/driver/nf_defrag_ipv4.ko
insmod: error inserting '/usr/local/modules/driver/nf_defrag_ipv4.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_defrag_ipv4.ko
Loading /usr/local/modules/driver/nf_conntrack_ipv4.ko
insmod: error inserting '/usr/local/modules/driver/nf_conntrack_ipv4.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_conntrack_ipv4.ko
Loading /usr/local/modules/driver/nf_nat_ipv4.ko
insmod: error inserting '/usr/local/modules/driver/nf_nat_ipv4.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_nat_ipv4.ko
Loading /usr/local/modules/driver/x_tables.ko
insmod: error inserting '/usr/local/modules/driver/x_tables.ko': -1 File exists
failed to load /usr/local/modules/driver/x_tables.ko
Loading /usr/local/modules/driver/xt_conntrack.ko
insmod: error inserting '/usr/local/modules/driver/xt_conntrack.ko': -1 File exists
failed to load /usr/local/modules/driver/xt_conntrack.ko
Loading /usr/local/modules/driver/xt_addrtype.ko
insmod: error inserting '/usr/local/modules/driver/xt_addrtype.ko': -1 File exists
failed to load /usr/local/modules/driver/xt_addrtype.ko
Loading /usr/local/modules/driver/xt_tcpudp.ko
insmod: error inserting '/usr/local/modules/driver/xt_tcpudp.ko': -1 File exists
failed to load /usr/local/modules/driver/xt_tcpudp.ko
Loading /usr/local/modules/driver/xt_nat.ko
insmod: error inserting '/usr/local/modules/driver/xt_nat.ko': -1 File exists
failed to load /usr/local/modules/driver/xt_nat.ko
Loading /usr/local/modules/driver/nf_nat_masquerade_ipv4.ko
insmod: can't read '/usr/local/modules/driver/nf_nat_masquerade_ipv4.ko': No such file or directory
failed to load /usr/local/modules/driver/nf_nat_masquerade_ipv4.ko
Loading /usr/local/modules/driver/ipt_MASQUERADE.ko
insmod: error inserting '/usr/local/modules/driver/ipt_MASQUERADE.ko': -1 File exists
failed to load /usr/local/modules/driver/ipt_MASQUERADE.ko
Loading /usr/local/modules/driver/ip_tables.ko
insmod: error inserting '/usr/local/modules/driver/ip_tables.ko': -1 File exists
failed to load /usr/local/modules/driver/ip_tables.ko
Loading /usr/local/modules/driver/iptable_filter.ko
insmod: error inserting '/usr/local/modules/driver/iptable_filter.ko': -1 File exists
failed to load /usr/local/modules/driver/iptable_filter.ko
Loading /usr/local/modules/driver/iptable_nat.ko
insmod: error inserting '/usr/local/modules/driver/iptable_nat.ko': -1 File exists
failed to load /usr/local/modules/driver/iptable_nat.ko
Loading /usr/local/modules/driver/llc.ko
insmod: error inserting '/usr/local/modules/driver/llc.ko': -1 File exists
failed to load /usr/local/modules/driver/llc.ko
Loading /usr/local/modules/driver/stp.ko
insmod: error inserting '/usr/local/modules/driver/stp.ko': -1 File exists
failed to load /usr/local/modules/driver/stp.ko
Loading /usr/local/modules/driver/bridge.ko
insmod: error inserting '/usr/local/modules/driver/bridge.ko': -1 File exists
failed to load /usr/local/modules/driver/bridge.ko
Loading /usr/local/modules/driver/br_netfilter.ko
insmod: can't read '/usr/local/modules/driver/br_netfilter.ko': No such file or directory
failed to load /usr/local/modules/driver/br_netfilter.ko
Setting up cgroup
Starting Docker
Docker setup NOK
Docker is not setup! Run docker_daemon.sh setup
shm_cleanup: 
Cannot umount ""

umount: /var/lib/docker/plugins: not found
umount: /var/lib/docker: not mounted
Total RAM: 1037312 KB
Creating /sys/fs/cgroup/memory/docker
Docker quota: 345770 KB
Set memory quota for docker: 354091008
Docker pid 29593
./install.sh: line 78: docker: not found
./install.sh: line 83: docker: not found
stefaang commented 4 years ago

I admit that the logs don't show much useful info... but it seems like the symlinks in /sbin are broken. Try stopping until no more mounts are remaining. Then clean to completely disable docker. Then remove the docker root (_docker). Then force symlink creation in the install script with the sed command. Then reinstall.

root@MyCloudEX2Ultra docker # ./stop.sh .
DOCKER stop: stop daemon
Remaining mounts:

root@MyCloudEX2Ultra docker # ./clean.sh .
root@MyCloudEX2Ultra docker # rm -rf ../_docker
root@MyCloudEX2Ultra docker # sed 's#ln -s#ln -sf#' start.sh
root@MyCloudEX2Ultra docker # ./install.sh . ..
... text text text ...
Starting Docker
Docker setup NOK
Docker is not setup! Run docker_daemon.sh setup
shm_cleanup: 
umount: can't unmount : No such file or directory
umount: can't unmount /var/lib/docker/plugins: Invalid argument
umount: can't unmount /var/lib/docker: Invalid argument
Total RAM: 1037312 KB
Creating /sys/fs/cgroup/memory/docker
Docker quota: 345770 KB
Set memory quota for docker: 354091008
Docker pid 13679

Now init and start.

root@MyCloudEX2Ultra docker # ./init.sh .
root@MyCloudEX2Ultra docker # ./start.sh .
stefaang commented 4 years ago

Oh... it might be due to the new docker packages... the URL changed a bit so it's broken now. Ping @JediNite so he's aware of this. I'll make new packages asap.

maxence-leblanc commented 4 years ago

It might be due to something i did a week ago. I had the no space left err message when i've tried to deploy a new container, so i've tried the solution here : https://stackoverflow.com/questions/45812401/no-space-left-on-device-even-after-removing-all-containers But since i've fully restored the NAS, so i'm not sure this could come from this.

Anyway, i've done what you suggest, here are the logs :

root@MyCloudEX2Ultra docker # ./stop.sh .
DOCKER stop: stop daemon
Remaining mounts:

root@MyCloudEX2Ultra docker # ./clean.sh .
root@MyCloudEX2Ultra docker # rm -rf ../_docker/
root@MyCloudEX2Ultra docker # sed 's#ln -s#ln -sf#' start.sh
#!/bin/sh

echo "APKG_DEBUG: starting Docker and Portainer on port 9000" >> /tmp/debug_apkg

APPDIR=$1
LOG=/tmp/debug_apkg

#export PATH="$APPDIR/docker:$PATH"

echo 'DOCKER START: setup daemon'
"${APPDIR}/daemon.sh" setup >> $LOG 2>&1

#echo 'DOCKER START: mount btrfs volume'
#/sbin/losetup /dev/loop1 /shares/Volume_1/tfl_docker.img
#mount -t btrfs /dev/loop1 /var/lib/docker

echo 'DOCKER START: start daemon'
"${APPDIR}/daemon.sh" start >> $LOG 2>&1

sleep 3
echo "$(docker ps)"
root@MyCloudEX2Ultra docker # ./install.sh . ..
Installing with APPDIR: ../docker / ../docker
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (23) Failed writing body (1328 != 1370)
No orig daemon found
ln: /sbin/*: File exists
Creating new docker root
Docker setup NOK
Setting up docker
No symlink found
ln: /usr/lib/xtables/xtables: Read-only file system
Loading drivers
Loading /usr/local/modules/driver/nf_conntrack.ko
insmod: error inserting '/usr/local/modules/driver/nf_conntrack.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_conntrack.ko
Loading /usr/local/modules/driver/nf_nat.ko
insmod: error inserting '/usr/local/modules/driver/nf_nat.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_nat.ko
Loading /usr/local/modules/driver/nf_defrag_ipv4.ko
insmod: error inserting '/usr/local/modules/driver/nf_defrag_ipv4.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_defrag_ipv4.ko
Loading /usr/local/modules/driver/nf_conntrack_ipv4.ko
insmod: error inserting '/usr/local/modules/driver/nf_conntrack_ipv4.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_conntrack_ipv4.ko
Loading /usr/local/modules/driver/nf_nat_ipv4.ko
insmod: error inserting '/usr/local/modules/driver/nf_nat_ipv4.ko': -1 File exists
failed to load /usr/local/modules/driver/nf_nat_ipv4.ko
Loading /usr/local/modules/driver/x_tables.ko
insmod: error inserting '/usr/local/modules/driver/x_tables.ko': -1 File exists
failed to load /usr/local/modules/driver/x_tables.ko
Loading /usr/local/modules/driver/xt_conntrack.ko
insmod: error inserting '/usr/local/modules/driver/xt_conntrack.ko': -1 File exists
failed to load /usr/local/modules/driver/xt_conntrack.ko
Loading /usr/local/modules/driver/xt_addrtype.ko
insmod: error inserting '/usr/local/modules/driver/xt_addrtype.ko': -1 File exists
failed to load /usr/local/modules/driver/xt_addrtype.ko
Loading /usr/local/modules/driver/xt_tcpudp.ko
insmod: error inserting '/usr/local/modules/driver/xt_tcpudp.ko': -1 File exists
failed to load /usr/local/modules/driver/xt_tcpudp.ko
Loading /usr/local/modules/driver/xt_nat.ko
insmod: error inserting '/usr/local/modules/driver/xt_nat.ko': -1 File exists
failed to load /usr/local/modules/driver/xt_nat.ko
Loading /usr/local/modules/driver/nf_nat_masquerade_ipv4.ko
insmod: can't read '/usr/local/modules/driver/nf_nat_masquerade_ipv4.ko': No such file or directory
failed to load /usr/local/modules/driver/nf_nat_masquerade_ipv4.ko
Loading /usr/local/modules/driver/ipt_MASQUERADE.ko
insmod: error inserting '/usr/local/modules/driver/ipt_MASQUERADE.ko': -1 File exists
failed to load /usr/local/modules/driver/ipt_MASQUERADE.ko
Loading /usr/local/modules/driver/ip_tables.ko
insmod: error inserting '/usr/local/modules/driver/ip_tables.ko': -1 File exists
failed to load /usr/local/modules/driver/ip_tables.ko
Loading /usr/local/modules/driver/iptable_filter.ko
insmod: error inserting '/usr/local/modules/driver/iptable_filter.ko': -1 File exists
failed to load /usr/local/modules/driver/iptable_filter.ko
Loading /usr/local/modules/driver/iptable_nat.ko
insmod: error inserting '/usr/local/modules/driver/iptable_nat.ko': -1 File exists
failed to load /usr/local/modules/driver/iptable_nat.ko
Loading /usr/local/modules/driver/llc.ko
insmod: error inserting '/usr/local/modules/driver/llc.ko': -1 File exists
failed to load /usr/local/modules/driver/llc.ko
Loading /usr/local/modules/driver/stp.ko
insmod: error inserting '/usr/local/modules/driver/stp.ko': -1 File exists
failed to load /usr/local/modules/driver/stp.ko
Loading /usr/local/modules/driver/bridge.ko
insmod: error inserting '/usr/local/modules/driver/bridge.ko': -1 File exists
failed to load /usr/local/modules/driver/bridge.ko
Loading /usr/local/modules/driver/br_netfilter.ko
insmod: can't read '/usr/local/modules/driver/br_netfilter.ko': No such file or directory
failed to load /usr/local/modules/driver/br_netfilter.ko
Setting up cgroup
Starting Docker
Docker setup NOK
Docker is not setup! Run docker_daemon.sh setup
shm_cleanup: 
Cannot umount ""

umount: /var/lib/docker/plugins: not found
umount: /var/lib/docker: not mounted
Total RAM: 1037312 KB
Creating /sys/fs/cgroup/memory/docker
Docker quota: 345770 KB
Set memory quota for docker: 354091008
Docker pid 9747
./install.sh: line 78: docker: not found
./install.sh: line 83: docker: not found
root@MyCloudEX2Ultra docker # ./init.sh .
ln: /sbin/*: File exists
root@MyCloudEX2Ultra docker # ./start.sh .
DOCKER START: setup daemon
DOCKER START: start daemon
./start.sh: line 21: docker: not found
maxence-leblanc commented 4 years ago

besides that, thanks a lot for your reactivity

stefaang commented 4 years ago

NP, we made some changes in https://github.com/WDCommunity/wdpksrc/pull/46 but I didn't release this yet.. my bad.

stefaang commented 4 years ago

Please try with the new version: https://github.com/WDCommunity/wdpksrc/releases/tag/docker-v19.03.3

maxence-leblanc commented 4 years ago

It works fine, huge thanks