Posts by stinkycheese

    I think I have it sorted, @macom.


    A few searches made it clear that official docker images are usually not ARM-friendly. There are plenty of supposed solutions and even some images that will work on most of the RPi family.


    The solution that worked for me can be found here - it's a very concise, straightforward and well-presented guide, but I had to research two resulting errors to find the missing piece of the puzzle, which slots in before the final step:


    sudo apt install -y python-all-dev python-wheel


    Then finish it up with:


    sudo pip install docker-compose


    And surprise, surprise: my original docker-compose.yml worked perfectly first time! :thumbsup:


    docker@phewtus:~/nextcloud$ docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    linuxserver/letsencrypt latest 40d5e2dbd8f2 16 hours ago 224MB
    linuxserver/nextcloud latest 3cc1ef5127b9 26 hours ago 264MB
    linuxserver/mariadb latest db16f0c83902 4 days ago 278MB
    docker/compose 1.24.1 9bd979cced2e 4 months ago 67.9MB
    arm32v7/hello-world latest 618e43431df9 9 months ago 1.64kB


    Thanks for your help with this one - now that I've got it working, I'm sure I'll be back before long with more questions on getting it to work as I want it to!

    Hi again, @macom


    Here ya go... I hope this helps:


    boss@phewtus:~/bin$ dpkg -l | grep docker
    ii docker-ce 5:19.03.4~3-0~debian-stretch armhf Docker: the open-source application container engine
    ii docker-ce-cli 5:19.03.4~3-0~debian-stretch armhf Docker CLI: the open-source application container engine
    ii docker-compose 1.8.0-2 all Punctual, lightweight development environments using Docker
    ii openmediavault-docker-gui 4.1.5 all OpenMediaVault plugin for Docker
    ii python-docker 1.9.0-1 all Python wrapper to access docker.io's control socket
    ii python-dockerpty 0.4.1-1 all Pseudo-tty handler for docker Python client (Python 2.x)

    Though I'm pretty new to Docker, I'm starting to get the impression that docker-compose is simply not ARM-compatible - I don't know how authoritative this guy's blog is, but this may sum it up:


    "... docker-compose is not (yet) available for Raspberry Pi or any other ARM architecture."


    According to his most recent update on the subject in March 2019, make docker-compose work on a Pi still requires some geek ninja skills.


    My attempt at the easy way ("pip install docker-compose") died prematurely, so I decided to follow his rather more complex manual method by blindly copying & pasting each command. My little Pi has been valiantly churning away for about 45 mins now, fortunately with abundant screen output (or, as I like to call it, "proof of life").


    I think it has a while to go, but I'll report back tomorrow on the final result. I'll be pleasantly surprised if I don't have to restore from the system image I made before I began.

    Thanks for your prompt responses, @Morlan & @KM0201.


    The errors you both called out in my attached .yml file weren't in my 'live' file - they were just cross-eyed editing glitches I made when removing my personal details from the file before uploading it. I have just reviewed the live file once more and can confirm that it doesn't have those, er, features - so I'm still getting the same error. Since your responses, I've tried recreating docker-compose.yml from the guide, but the result is identical.


    As for the location of the .yml, @Morlan - it is in /home/docker1/nextcloud and that is where I'm executing it from.


    But your comment on compatibility had me wondering about a potential issue with the current build of docker-compose:


    Before trying this installation guide, I spent quite a few hours following different instructions, which required me to pull the 'latest'-tagged docker-compose image through OMV's Docker UI. It repeatedly did nothing when I specified "latest" as the tag or left it blank - the only way I could pull it successfully was by specifying the tag "1.24.1" in the dialog (I've attached screenies to illustrate). I understand this may not be typical.



    Anyhoo - thanks for your kind efforts & input - and apologies again for the sloppy errors along the way.


    Cheerio


    neil

    Howdy all


    Many thanks to @macom for this outstanding & very detailed guide - I look forward to reaching to the end of it, but...


    First of all: I'm running on a Raspberry Pi3+ - which is ARM architecture.


    I have followed each step precisely, including making all the necessary changes to docker-compose.yml where instructed - but unfortunately, I receive this error each time I try to execute it (I've pasted the output in full for clarity):


    docker@phewtus:~$ docker-compose up -d
    Unable to find image 'docker/compose:1.24.1' locally
    1.24.1: Pulling from docker/compose
    c87736221ed0: Pull complete
    ba1ee912e9a7: Pull complete
    2df7dacacdeb: Pull complete
    6037f24be055: Pull complete
    Digest: sha256:8616a861a5c769b7fe633625a4d5a4f76ae5a54d1d04874dcef827644c136684
    Status: Downloaded newer image for docker/compose:1.24.1
    standard_init_linux.go:211: exec user process caused "exec format error"
    failed to resize tty, using default size


    There is no sign of anything have executed, as there is not even an empty "nextcloud" folder created.


    If I rerun it, it just skips the image pull (of course) and spits out exactly the same error.


    I've spent a fair amount of time trying to resolve this (gotta move beyond Beginner, right ?( ?), and the most plausible explanation I've found is that Docker can't start the build because the binary in the images is incompatible with the environment in the container, i.e. the repo images are for AMD64 hardware, not the RPi's ARM.



    In case anyone with greater knowledge wishes to take a look, I've attached my .yml file (minus details like my email address).


    I'd be very grateful for expert advice on this, because it is driving me crazy & I think I've hit a brick wall on this. (and yes, switching to AMD64 hardware is an option, but only if all else fails).


    Many thanks in advance


    neil