Comments (17)
Update from my side, with /bin/sh
entrypoint it works
# docker run -ti --rm --entrypoint=/bin/sh alpine/helm:3.5.0-rc.1
/apps # uname -m
s390x
so actually just helm version
doesn't, as helm binary in the current Dockerfile has amd64 version for all archs - https://github.com/alpine-docker/helm/blob/master/Dockerfile#L10
from git.
just fyi, docker buildx
has nice set of predefined env variables https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope. TARGETARCH
looks promising to fix helm build
from git.
# docker run -ti --rm alpine/git:multi version
Unable to find image 'alpine/git:multi' locally
multi: Pulling from alpine/git
3997176601fb: Already exists
8a0ac3530f85: Pull complete
724b374f1a16: Pull complete
Digest: sha256:d0eb5e18f4b7ca63b73a2c687cc6ea68b8e30c02430fa6b7e58d66f840288e73
Status: Downloaded newer image for alpine/git:multi
git version 2.30.0
# docker run -ti --rm --entrypoint=sh alpine/git:multi
/git # uname -m
s390x
# docker run -ti --rm alpine/git:multi version
Unable to find image 'alpine/git:multi' locally
multi: Pulling from alpine/git
cb0f06c26ffd: Already exists
960f1be7c9b3: Pull complete
63b6d4c3f1b9: Pull complete
Digest: sha256:d0eb5e18f4b7ca63b73a2c687cc6ea68b8e30c02430fa6b7e58d66f840288e73
Status: Downloaded newer image for alpine/git:multi
git version 2.30.0
# docker run -ti --rm --entrypoint=sh alpine/git:multi
/git # uname -m
ppc64le
from git.
The old part of multi-arch need be re-written.
from git.
Could you please run a test on a ARM64 machine with below command:
docker run -ti --rm alpine/helm:3.5.0-rc.1 version
what output do you get?
I need a final confirmation to prove if my way is correct or not.
from git.
@ozbillwang I have s390x or ppc64le hardware only to verify. Could you please add linux/s390x
platform to your build for me to verify?
Also found interesting blog post about building with docker buildx
on Travis - https://www.docker.com/blog/multi-arch-build-what-about-travis. However do you think it's time to move to Github actions for the same purpose https://github.com/marketplace/actions/docker-buildx#quick-start?
Anyway I think using docker buildx
can be simpler and cleaner solution for multi-arch, so it would be great to use it.
from git.
I have built for s390x and ppc64le, could you test now?
two test commands:
docker run -ti --rm alpine/helm:3.5.0-rc.1 version
and
$ docker run -ti --rm --entrypoint=sh alpine/helm:3.5.0-rc.1
/apps # uname -m
from git.
For your second question. I still think Github Action is in early age currently, not mature enough, we can migrate all of them to Github Action later. But now, it is not suitable.
The main reason is, I don't see the feature to manage secrets properly.
In travis, I can manage secrets with nominated branches. I don't see the same feature in Github Action.
from git.
# uname -m
ppc64le
# docker run -ti --rm alpine/helm:3.5.0-rc.1 version
standard_init_linux.go:175: exec user process caused "exec format error"
# uname -m
s390x
# docker run -it --rm alpine/helm:3.5.0-rc.1 version
standard_init_linux.go:211: exec user process caused "exec format error"
The error means that image is running on wrong architecture. Because it's not running I cannot login inside and check uname -m
.
Let me try to do alpine/helm build also on my env with configured buildx
, just to check. So far I don't understand why we got this failing result
from git.
could you pull again to make sure it doesn't use the old one.
docker pull alpine/helm:3.5.0-rc.1
docker run -ti --rm alpine/helm:3.5.0-rc.1 version
from git.
done. Same result
from git.
You can build git
image directly and test
replace <your_org>
with your own org, that you have write permission to push
# to make sure the support platforms
docker buildx ls
docker buildx build --platform linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,linux/s390x --tag <your_org>/git --push .
from git.
ic. Thanks to find it out. that codes are hard coded, will fix it.
from git.
The Dockerfile for git has no same issue. I built a special tag alpine/git:multi
for you to run test.
This is the command for your reference:
docker buildx build --platform linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/386,linux/arm/v7,linux/arm/v6 --tag alpine/git:multi --push .
from git.
Did you have chance to test the git image on s390x and ppc64le?
# uname -m
s390x
# docker pull alpine/git:multi
# docker run -it --rm alpine/git:multi version
What's the output?
from git.
Thanks for the confirmation.
Currently I can't install other multi-arch platfroms in Travis, will try later.
https://travis-ci.org/github/ozbillwang/travis-demo/builds/754997888
https://github.com/ozbillwang/travis-demo/blob/main/.travis.yml
from git.
all related multi-arch related issues, please follow up at alpine-docker/multi-arch-docker-build-on-ci#1
from git.
Related Issues (20)
- current alpine release HOT 2
- apk has errors when run on arm64 HOT 12
- Any good example how to add .ssh key from environment variable? HOT 2
- Host key verification failed when trying to clone in kubernetes HOT 2
- Can not clone repository HOT 2
- Update git() function HOT 1
- what the heck is the latest tag? Git v1 or git v2? HOT 1
- Alpine docker does not support git 2.35.2 HOT 8
- BUG: Cannot install the `patch` package with the images pushed as "latest" on 2022-08-22 HOT 14
- Add riscv64 support HOT 7
- Vulnerability in libexpat < 2.4.9 CVE-2022-40674 HOT 2
- fatal: detected dubious ownership in repository at '/git' HOT 3
- sed, cmd_, uname not found while trying to run git-sh-setup for GitSubmodules. HOT 4
- Docker is sunsetting Free Team organizations HOT 4
- Monthly builds are not running HOT 9
- curl does not work on latest HOT 5
- How can i upgrade the git version in alpine/git:v2.24.3-user ? HOT 1
- Re-enable non-root image builds HOT 3
- Git pull_request - perl missing in image
- Can't connect to any url HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git.