orientdb-docker icon indicating copy to clipboard operation
orientdb-docker copied to clipboard

Re-structure inline with Docker's Official Images guidelines

Open lag-linaro opened this issue 7 years ago • 19 comments

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 <[email protected]>

lag-linaro avatar Oct 16 '18 08:10 lag-linaro

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

https://github.com/docker-library/official-images/pull/4768

lag-linaro avatar Oct 16 '18 08:10 lag-linaro

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 https://github.com/docker-library/official-images/pull/4768#issuecomment-415815016:

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.

tianon avatar Oct 16 '18 17:10 tianon

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 avatar Oct 17 '18 07:10 lag-linaro

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 avatar Nov 29 '18 12:11 lag-linaro

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

Any update guys?

lag-linaro avatar Dec 13 '18 11:12 lag-linaro

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

lag-linaro avatar Feb 19 '19 10:02 lag-linaro

Rebased and satisfied @tianon's concerns.

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

lag-linaro avatar Jun 13 '19 10:06 lag-linaro

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

rhenwood-arm avatar Jul 29 '19 17:07 rhenwood-arm

Rebased and re-pushed.

lag-linaro avatar Aug 14 '19 10:08 lag-linaro

Would someone be kind enough to look at this please?

lag-linaro avatar Sep 02 '19 08:09 lag-linaro

@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.

lag-linaro avatar Sep 19 '19 12:09 lag-linaro

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

rhenwood-arm avatar Oct 03 '19 19:10 rhenwood-arm

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

ossdev07 avatar Oct 27 '20 11:10 ossdev07

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

luigidellaquila avatar Oct 27 '20 12:10 luigidellaquila

@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 avatar Oct 29 '20 12:10 odidev

@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 avatar Nov 04 '20 10:11 odidev

@luigidellaquila could you please share your thoughts on this?

odidev avatar Jan 15 '21 14:01 odidev

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

luigidellaquila avatar Jan 15 '21 15:01 luigidellaquila

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.

odidev avatar Jan 18 '21 15:01 odidev