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

Add aarch64 support #35

Merged
merged 20 commits into from Dec 4, 2017

Conversation

Projects
None yet
@meyskens
Contributor

meyskens commented Jul 19, 2017

This PR adds aarch64/arm64 build files for Debian stretch/jessie and Ubuntu Xenial and newer.
This PR is like #25 (sorry saw it right before sending this in) but uses the golang-backports apt repo till Go builds aarch64 binaries and is not only for Ubuntu Xenial.

I tested running the .deb on Debian Stretch. Any feedback welcome.

@douglasmiranda

This comment has been minimized.

Show comment
Hide comment
@douglasmiranda

douglasmiranda Jul 31, 2017

So, I'd like to share my experiences with packaging docker aarch on Pine64 running DietPI.

I tried to make deb with the Debian Jessie aarch Dockerfile, but with no success. So I changed the image to arm64v8/debian:jessie-backports. For Debian Jessie there is no aarch64 build on stable channel, only on backports.

As you can see here:

https://packages.debian.org/jessie/libseccomp-dev
https://packages.debian.org/jessie-backports/libseccomp-dev

More info:

Documented the steps here:
https://gist.github.com/douglasmiranda/41c582be2e216f09e1c1081a69e66f87


As you can see on my steps, I've cloned the /docker-ce repo no /docker-ce-packaging.

So my doubt is, the code from here will be merged on /docker-ce?


I hope I could help, please tell if there's a misconception from my part.

douglasmiranda commented Jul 31, 2017

So, I'd like to share my experiences with packaging docker aarch on Pine64 running DietPI.

I tried to make deb with the Debian Jessie aarch Dockerfile, but with no success. So I changed the image to arm64v8/debian:jessie-backports. For Debian Jessie there is no aarch64 build on stable channel, only on backports.

As you can see here:

https://packages.debian.org/jessie/libseccomp-dev
https://packages.debian.org/jessie-backports/libseccomp-dev

More info:

Documented the steps here:
https://gist.github.com/douglasmiranda/41c582be2e216f09e1c1081a69e66f87


As you can see on my steps, I've cloned the /docker-ce repo no /docker-ce-packaging.

So my doubt is, the code from here will be merged on /docker-ce?


I hope I could help, please tell if there's a misconception from my part.

@douglasmiranda

This comment has been minimized.

Show comment
Hide comment
@meyskens

This comment has been minimized.

Show comment
Hide comment
@meyskens

meyskens Aug 25, 2017

Contributor

@douglasmiranda thx (sorry for the delay) will add backports on Jessie

Contributor

meyskens commented Aug 25, 2017

@douglasmiranda thx (sorry for the delay) will add backports on Jessie

@douglasmiranda

This comment has been minimized.

Show comment
Hide comment
@douglasmiranda

douglasmiranda commented Aug 25, 2017

xD Nice!

@suihkulokki

This comment has been minimized.

Show comment
Hide comment
@suihkulokki

suihkulokki Sep 4, 2017

Generally looks good to me. I think using the arm64v8 namespace for base images would be an improvement.

suihkulokki commented Sep 4, 2017

Generally looks good to me. I think using the arm64v8 namespace for base images would be an improvement.

@meyskens

This comment has been minimized.

Show comment
Hide comment
@meyskens

meyskens Sep 4, 2017

Contributor

@suihkulokki will do!

Contributor

meyskens commented Sep 4, 2017

@suihkulokki will do!

@suihkulokki

This comment has been minimized.

Show comment
Hide comment
@suihkulokki

suihkulokki Sep 5, 2017

Looks good to me now 👍

suihkulokki commented Sep 5, 2017

Looks good to me now 👍

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter Oct 4, 2017

Any progress here? I'd like to get Debian supported.
@meyskens you should at least resolve the conflict in file "detect_alpine_image".

DieterReuter commented Oct 4, 2017

Any progress here? I'd like to get Debian supported.
@meyskens you should at least resolve the conflict in file "detect_alpine_image".

@vielmetti

This comment has been minimized.

Show comment
Hide comment
@vielmetti

vielmetti Oct 4, 2017

I'd like to see this as well, echoing @DieterReuter - one of the desired endpoints for this is an arm64 build for the Raspberry Pi 3.

vielmetti commented Oct 4, 2017

I'd like to see this as well, echoing @DieterReuter - one of the desired endpoints for this is an arm64 build for the Raspberry Pi 3.

@justincormack

This comment has been minimized.

Show comment
Hide comment
@justincormack

justincormack Oct 4, 2017

Member

Needs a rebase

Member

justincormack commented Oct 4, 2017

Needs a rebase

@meyskens

This comment has been minimized.

Show comment
Hide comment
@meyskens

meyskens Oct 4, 2017

Contributor

Rebase done

Contributor

meyskens commented Oct 4, 2017

Rebase done

@vielmetti

This comment has been minimized.

Show comment
Hide comment
@vielmetti

vielmetti Oct 4, 2017

It's worth noting that there is work in progress to get a multiarch Alpine image, per gliderlabs/docker-alpine#304 . That's not done yet, but when it is done this will simplify the logic.

vielmetti commented Oct 4, 2017

It's worth noting that there is work in progress to get a multiarch Alpine image, per gliderlabs/docker-alpine#304 . That's not done yet, but when it is done this will simplify the logic.

@thaJeztah

This comment has been minimized.

Show comment
Hide comment
@thaJeztah
Member

thaJeztah commented Oct 4, 2017

Show outdated Hide outdated detect_alpine_image
@ericcurtin

This comment has been minimized.

Show comment
Hide comment
@ericcurtin

ericcurtin Oct 25, 2017

👍 Personally I'd be hoping to add fedora 27 support as it is creating disk images for lots of boards

docker/docker-install#40

Maybe I can take a peek at your work and get it done sometime!

ericcurtin commented Oct 25, 2017

👍 Personally I'd be hoping to add fedora 27 support as it is creating disk images for lots of boards

docker/docker-install#40

Maybe I can take a peek at your work and get it done sometime!

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter Oct 31, 2017

Hmm, I'm not quite sure why this PR is still pending. Do we really have any major concerns to merge it? Or what parts should be fixed to finally accept it? I'd really love to get this in!

DieterReuter commented Oct 31, 2017

Hmm, I'm not quite sure why this PR is still pending. Do we really have any major concerns to merge it? Or what parts should be fixed to finally accept it? I'd really love to get this in!

@meyskens

This comment has been minimized.

Show comment
Hide comment
@meyskens

meyskens Oct 31, 2017

Contributor

@DieterReuter from my understanding it is Go 1.9 which is the first with official arm64 support. If wanted I can always build 1.8.x from source if 1.9 support is far away

Contributor

meyskens commented Oct 31, 2017

@DieterReuter from my understanding it is Go 1.9 which is the first with official arm64 support. If wanted I can always build 1.8.x from source if 1.9 support is far away

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter Oct 31, 2017

Yes maybe, but there is already a version for Ubuntu Xenial built witn Go 1.8.5, just see here https://github.com/docker/docker-ce-packaging/blob/master/deb/ubuntu-xenial/Dockerfile.aarch64.

DieterReuter commented Oct 31, 2017

Yes maybe, but there is already a version for Ubuntu Xenial built witn Go 1.8.5, just see here https://github.com/docker/docker-ce-packaging/blob/master/deb/ubuntu-xenial/Dockerfile.aarch64.

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter Oct 31, 2017

@meyskens wait, I think there is a new solution now! All the other .deb builds are now based upon Go v1.8.5 and actually there is a new pre-built Go v1.8.5 tarball available for armv8! Here it is https://redirector.gvt1.com/edgedl/go/go1.8.5.linux-arm64.tar.gz. So you could now use Go v1.8.5 directly. WDYT?

So you just have to use

ENV GO_VERSION 1.8.5

and it will work now!

DieterReuter commented Oct 31, 2017

@meyskens wait, I think there is a new solution now! All the other .deb builds are now based upon Go v1.8.5 and actually there is a new pre-built Go v1.8.5 tarball available for armv8! Here it is https://redirector.gvt1.com/edgedl/go/go1.8.5.linux-arm64.tar.gz. So you could now use Go v1.8.5 directly. WDYT?

So you just have to use

ENV GO_VERSION 1.8.5

and it will work now!

@meyskens

This comment has been minimized.

Show comment
Hide comment
@meyskens

meyskens Nov 1, 2017

Contributor

Oh hey that is nice! Changed the versions to 1.8.5

Contributor

meyskens commented Nov 1, 2017

Oh hey that is nice! Changed the versions to 1.8.5

@douglasmiranda

This comment has been minimized.

Show comment
Hide comment
@douglasmiranda

douglasmiranda Nov 24, 2017

Just a feedback

I'm using Docker aarch64 on Debian Stretch for two weeks, no issues so far.

I've tried the multiarch official images;
and created some of my own;
using docker-compose (in a container);

Running now: samba file server, afp file server (netatalk), boinc.

Details: https://gist.github.com/douglasmiranda/6c78a82b71f626c8deb930bede6d7dfc

No issues, no warnings, only joy xD

douglasmiranda commented Nov 24, 2017

Just a feedback

I'm using Docker aarch64 on Debian Stretch for two weeks, no issues so far.

I've tried the multiarch official images;
and created some of my own;
using docker-compose (in a container);

Running now: samba file server, afp file server (netatalk), boinc.

Details: https://gist.github.com/douglasmiranda/6c78a82b71f626c8deb930bede6d7dfc

No issues, no warnings, only joy xD

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter Nov 30, 2017

Ping @thaJeztah. Could you please 🙏 verify internally what we have to do in order to get this PR merged in the near future?
IMO this PR seems to be ready to get merged, it works great for me and @douglasmiranda as well.

DieterReuter commented Nov 30, 2017

Ping @thaJeztah. Could you please 🙏 verify internally what we have to do in order to get this PR merged in the near future?
IMO this PR seems to be ready to get merged, it works great for me and @douglasmiranda as well.

@vielmetti

This comment has been minimized.

Show comment
Hide comment
@vielmetti

vielmetti commented Nov 30, 2017

@thaJeztah

This comment has been minimized.

Show comment
Hide comment
@thaJeztah

thaJeztah Dec 2, 2017

Member

Checking 🤗

Member

thaJeztah commented Dec 2, 2017

Checking 🤗

seemethere added some commits Dec 4, 2017

@seemethere

This comment has been minimized.

Show comment
Hide comment
@seemethere

seemethere Dec 4, 2017

Contributor

Going to squash and merge this in due to the number of commits.

Contributor

seemethere commented Dec 4, 2017

Going to squash and merge this in due to the number of commits.

Update aarch64 builds to 1.9.2
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
@seemethere

LGTM

@seemethere seemethere merged commit 03eac42 into docker:master Dec 4, 2017

@seemethere

This comment has been minimized.

Show comment
Hide comment
@seemethere

seemethere Dec 4, 2017

Contributor

Thank you so much @meyskens and everyone else that participated in this PR, sorry for the delay but happy to get more aarch64 support up and running for the upcoming release!

Contributor

seemethere commented Dec 4, 2017

Thank you so much @meyskens and everyone else that participated in this PR, sorry for the delay but happy to get more aarch64 support up and running for the upcoming release!

@DieterReuter

This comment has been minimized.

Show comment
Hide comment
@DieterReuter

DieterReuter commented Dec 4, 2017

🎉woot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment