Skip to content
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

Re-structure inline with Docker's Official Images guidelines #53

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lag-linaro
Copy link

@lag-linaro lag-linaro commented Oct 16, 2018

multi-arch in Docker's Official Images repo the guidelines [0]
need to be followed.

This change adapts the directory-level sorting order from
<version>-<architecture>-<base> to <version>-<base>-<architecture>
where <architecture> can be omitted from the latter structure when
a Dockerfile supports multiple architectures.

A good example of that is the Dockerfile for 3.0 based on Alpine,
which can support both ARM64v8 (AArch64) and x86_64 (and probably
some other architectures too [untested]) without changes.

[0] https://github.com/docker-library/official-images#multiple-architectures

Signed-off-by: Lee Jones <lee.jones@linaro.org>

@lag-linaro
Copy link
Author

This PR follows on from @tianon's review of the following Docker Library - Official Images PR:

docker-library/official-images#4768

@tianon
Copy link

tianon commented Oct 16, 2018

This is a great start, but I'm still failing to see a compelling reason for any of these architectures to need an explicit separate Dockerfile, as I noted in docker-library/official-images#4768 (comment):

I'm looking over these, and I'm really not seeing a very compelling reason for these to be completely separate Dockerfiles -- can you elaborate on the reasoning behind that choice?


To clarify a bit, this is going to cause the same tag to be drastically different on different architectures, which no obvious indication of that fact for users. If there's a desire to support both ibmjava-based and alpine-based containers concurrently, I think it makes a lot more sense to make it obvious to users that's happening.

@lag-linaro
Copy link
Author

lag-linaro commented Oct 17, 2018

It looks like PPC is the black sheep here, since it uses a bespoke Java base ppc64le/ibmjava.

Without knowing what ibmjava is it's hard to answer why we need a PPC specific one.

Maybe one of the maintainers could fill us in?

Hopefully the reasons are historical and we can move to something more generic which already supports multi-arch.

@lag-linaro
Copy link
Author

It's been 6 weeks since I submitted this PR.

Any chance we can get some feedback from the Maintainers please? @luigidellaquila @robfrank @wolf4ood

@tianon is the odd-ball PPC directory a firm blocker? We can just omit it from the Library file.

@lag-linaro
Copy link
Author

Any chance we can get some feedback from the Maintainers please? @luigidellaquila @robfrank @wolf4ood

Any update guys?

@lag-linaro lag-linaro mentioned this pull request Feb 19, 2019
@lag-linaro
Copy link
Author

It's been a while. Anyone care to comment please?

@lag-linaro lag-linaro force-pushed the restructure-for-official-images branch from 69374ff to 5911c9b Compare June 13, 2019 10:48
@lag-linaro
Copy link
Author

Rebased and satisfied @tianon's concerns.

It should now be possible for AArch64 support to be added as an Official Image.

@rhenwood-arm
Copy link

I would like to see a docker image for AArch64. Is there any progress to report on this work?

In order for this repository to reach acceptance standards for
multi-arch in Docker's Official Images repo the guidelines [0]
need to be followed.

This change adapts the directory-level sorting order from
<version>-<architecture>-<base> to <version>-<base>-<architecture>
where <architecture> can be omitted from the latter structure when
a Dockerfile supports multiple architectures.

A good example of that is the Dockerfile for 3.0 based on Alpine,
which can support both ARM64v8 (AArch64) and x86_64 (and probably
some other architectures too [untested]) without changes.

[0] https://github.com/docker-library/official-images#multiple-architectures

Signed-off-by: Lee Jones <lee.jones@linaro.org>
@lag-linaro lag-linaro force-pushed the restructure-for-official-images branch from 5911c9b to 767506b Compare August 14, 2019 10:58
@lag-linaro
Copy link
Author

Rebased and re-pushed.

@lag-linaro
Copy link
Author

Would someone be kind enough to look at this please?

@lag-linaro
Copy link
Author

@tianon does this tick your boxes now?

@luigidellaquila how does it look to you?

Very disappointed at the lack of response with this. I would hate to see hard work go to waste.

@rhenwood-arm
Copy link

It would be good for me to see this work in the main tree. Can this patch be landed?

@ossdev07
Copy link

is there any chance of this PR to be landed in main tree?

@luigidellaquila
Copy link
Member

Hi @lag-linaro

I think this PR is outdated, we reviewed all the docker images so now it should be architecture-agnostic

If you have a chance, please double-check and let me know if I can close it

Thanks

Luigi

@odidev
Copy link

odidev commented Oct 29, 2020

@luigidellaquila ,
Thanks for your reply.
A new PR #60 has been raised on top of #53 and updated openjdk-slim version for aarch64 as well.
So please refer #60

@odidev
Copy link

odidev commented Nov 4, 2020

@luigidellaquila Keeping reference of your discussion, please suggest, should we create a new directory in /releases directory with a new version ( 3.1.5 ) or update the existing 3.1.4? Will raise PR according to your suggestion.

@odidev
Copy link

odidev commented Jan 15, 2021

@luigidellaquila could you please share your thoughts on this?

@luigidellaquila
Copy link
Member

Hi @odidev

I'm afraid I don't get the point here...
The new Docker images (see https://github.com/orientechnologies/orientdb-docker/tree/master/release) are already multi-arch and based on the new guidelines...

Thanks

Luigi

@odidev
Copy link

odidev commented Jan 18, 2021

Thanks, @luigidellaquila for the quick response as per your suggestion I have tried building the 3.17 dockerfile on the arm64 platform present at https://github.com/orientechnologies/orientdb-docker/tree/master/release/3.1.x.

I am getting the below error message while using the command " docker build -t image_name . "

Step 1/15 : FROM openjdk:8-jdk-slim
8-jdk-slim: Pulling from library/openjdk
no matching manifest for linux/arm64/v8 in the manifest list entries

Also, I have checked the image present at dockerhub through the docker inspect command getting the following result:

        "Architecture": "amd64",
        "Os": "linux",
        "Size": 351899357,
        "VirtualSize": 351899357,

Seems this image might be build using multiarch, but still it is neither published at dockerhub for arm64 nor having support in docker file for arm64.

Additionally, looks like the base image openjdk:8-jdk-slim being used in the docker file doesn't have arm64 support as well.

Please share your thoughts on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants