-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release docker/compose image for armv7 / arm64v8 #6831
Comments
As a new user to Docker, hoping to make my Raspberry Pi 4 the test ground for learning Docker, this stumbling block has been impossible to get past. Every tutorial uses docker-compose and the fact that it seems impossible to obtain easily has wasted hours of my time. There is no clear reason why this isn't the case. It should at least be called out in the installation documentation in the meantime. For those trying to understand why it is so hard: there is no official documentation for getting Docker (and compose!) up and running on an RPI. The general Linux guidance doesn't work. There are hundreds of tutorials out there, all of them of varying ages (the older ones being most wrong), all with varying levels of self-described 'easy' steps, most of them involving what can only be best described as hacks. I just wanted a little bit of a home project to learn a new technology. Instead I've wasted my time frustratingly. KISS principles do not appear to have been followed here. |
@webash I'm sorry to hear you've had troubles installing compose. You should be able to do it pretty easily by installing If you have further issues feel free to reach out via my contact info on my GitHub profile since this isn't really a support thread. That being said I'm subscribed here hoping to see any kind of movement in this happening. I'd love to he able to run compose from docker on ARM. It works great on x86_64. |
Python dependencies and the share number of them for |
Interestingly those instructions use a Dockerfile from this very repo. I'm pretty sure all we're asking for is an |
Yes, multiarch would surely be the contemporary way. |
I had built it on my Raspberry Pi 3 Model B Rev 1.2 with Raspbian10 (buster) [arm/v7].
I have the following images after
The executable docker-compose binary file is inside And don't try to copy it to Raspberry Pi and use it directly. Because it depends on other shared library inside It takes 40mins to build it on my Raspberry Pi 3. I had uploaded it to my docker-hub. If anyone want to use it on Raspberry Pi 3(arm/v7), please refer here. |
https://hub.docker.com/r/linuxserver/docker-compose Hopefully this helps anyone waiting for an official response. |
|
Unable to find image 'dockercompose:1.25.0' locally |
@JonahGroendal @Ghada-Ch please also have a look at this comment (I could build Compose from sources for a Raspi4 on Ubuntu server ARM64) |
There are official, up-to-date raspbian builds for docker core ...
but not for compose? Why is that? |
Compose installs via pip, which works fine on arm. This issue it's specifically about the lack of an official docker image built for arm. |
Last time I checked compose wants python 3, while raspbian's global python is still 2. |
What are the instructions for installing docker-compose on Yocto? |
Echoing the Recommended method from https://hub.docker.com/r/linuxserver/docker-compose sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose Should work on any linux distro and should work on Edit: |
I've been using docker and docker-compose on gentoo-on-rpi-64bit on a pi4. Although gentoo-on-rpi-64bit is setup to use binary / precompiled ebuilds in most cases. |
I've been building a multi-arch image for quite some time now - only running If anyone wants to give it a spin: gitlab.com/ix.ai/docker-compose or ixdotai/docker-compose |
For Yocto Thud I managed to use docker-compose, but I needed to cheat it, so I guess some features might not work (reviewing the change log, it looks OK to me). Any one can print out what will not work? |
Unfortunately, if you run the Sakaki's version of Gentoo, you'll find it hard to find support from Gentoo's normal support channels. |
In this case I prefer to have the binary, so my solution is using LinuxServer release. They affirm they provide them:
For my Raspbian:
EDIT: command using tee and last version available (1.28.2-ls30) |
I just ran into this issue again after a few months, and was surprised again that I can't get the latest version of docker-compose in the same way for x86_64 and aarm64. |
I'm running 64-bit Ubuntu 20.04 LTS Focal Fossa on a Raspberry Pi 3 B+. Is there an official ARM 64-bit binary for Docker Compose? |
Unfortunately no, there isn't an official one, but linuxserver.io has one that is a near identical clone of the x86 official with added support for armhf and aarch64 #6831 (comment) |
Does anyone know if they plan to release this for arm or is it directly a no no? I wanted to port my Gitlab CI to Raspberry PI and stumbled upon this problem. Thank you in advance and regards. |
2021 yet no progress on this. What's the status? How do we install it then? |
This is cool and it works to install it, but it doesn't work if you use sudo to run it. Anybody knows how to? Thanks! |
Check out #6831 (comment) to run compose in a container or #6831 (comment) to download the binary, both solutions by LinuxServer. |
Source: https://withblue.ink/2020/06/24/docker-and-docker-compose-on-raspberry-pi-os.html # Install required packages
sudo apt update
sudo apt install -y python3-pip libffi-dev
# Install Docker Compose from pip (using Python3)
# This might take a while
sudo pip3 install docker-compose |
This is what exactly I use for my pet project. And this has been working for a long time with no issues. But also I had to include |
To be clear, installing compose via pip does work, but it is not running compose itself from within a docker container, which is the topic of this issue. Options exist from 3rd parties to accomplish running compose from within docker, and comments above have outlined these options. One such posted by me: #6831 (comment) |
I guess we should be switching from
|
…rflow.com/a/65062795/4292075 which lead to missing docker-compose after cloud-init (missing make?)
Please note compose v2 has arm7 and arm64 binaries: https://github.com/docker/compose-cli/releases/tag/v2.0.0-beta.3 |
Is there a benefit in means of performance and stability compared to the solution of @nemchik: #6831 (comment)? |
Currently the options to run
In the future https://github.com/docker/compose-cli may replace the need for most of this, but it seems like the application in this repo is currently recommended for general use. Edit: there are also more options to run |
An easy way to get Docker compose running: Edit: |
arm64 or aarch64
|
Thank you very much |
Is your feature request related to a problem? Please describe.
Using
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" > docker-compose
fails on Raspbian as described in issue #6810.
The root causes are:
While issue #6810 was closed, I think this is a genuine feature request since instructions at https://docs.docker.com/compose/install/#install-as-a-container are not clear about which platforms are officially supported to run docker-compose as a container.
Two recent events may now make this worth:
Combined with the fact that docker-compose is a core building block for orchestrating images, the lack of support on arm v7 (32 bits) and v8 (64 bits) makes the bootstrapping process options more limited than on x86 equivalent and the documentation is not clear about which options work where.
As stated at #4733 (comment), there used to be a Dockerfile.armhf. This file was deleted in #6666 by @joakimr-axis since the current one works just fine.
Describe the solution you'd like
Officially create armv7 and arm64v8 docker images to https://hub.docker.com/r/docker/compose as part of the release process.
This is essentially a process change, not a code change, since the Dockerfile is known to work on arm already. This would involve at the very least updating .circleci/config.yml.
Describe alternatives you've considered
Installing via
pip
works in the meantime but is trickier to run this process successfully for new comers with limited linux experience, especially that the documentation is misleading about what is supported and what is not. This leads to a poor user experience (UX).The text was updated successfully, but these errors were encountered: