orientechnologies / orientdb-docker

OrientDB running in a docker container
MIT License
63 stars 63 forks source link

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

Open lag-linaro opened 5 years ago

lag-linaro commented 5 years ago

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 commented 5 years ago

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

tianon commented 5 years ago

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.

lag-linaro commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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

Any update guys?

lag-linaro commented 5 years ago

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

lag-linaro commented 5 years ago

Rebased and satisfied @tianon's concerns.

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

rhenwood-arm commented 5 years ago

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

lag-linaro commented 5 years ago

Rebased and re-pushed.

lag-linaro commented 4 years ago

Would someone be kind enough to look at this please?

lag-linaro commented 4 years ago

@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 commented 4 years ago

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

ossdev07 commented 3 years ago

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

luigidellaquila commented 3 years ago

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 commented 3 years ago

@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 commented 3 years ago

@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 commented 3 years ago

@luigidellaquila could you please share your thoughts on this?

luigidellaquila commented 3 years ago

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 commented 3 years ago

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 imagename . "

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.