-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Oracle Database: please remove volume from base image #640
Comments
@brunoborges @gvenzl just wondering if there is any update on this? |
I'd say you should simply get the original Dockerfile, and edit it to your own needs. Most users do want VOLUME. |
@brunoborges: There is no original Dockerfile for the Database images stored on the Oracle Container Registry or Docker Store. Unlike every other product, they do not use the same Dockerfiles hosted here on GitHub. @veqryn: The only option if you don't want the preconfigured |
@Djelibeybi sorry, when I said "original Dockerfile" I simply meant the Dockerfile in this repo, and to build from scratch... :P |
So, I prefer to use the containers in the Oracle Container Registry because they are already made and I assume supported by Oracle. Why do we have two different ways of creating the same container, and why isn't the Dockerfile for the ones in the Oracle Container Registry published? (ie: |
Oracle Database is certified to run inside a Docker container regardless of how that container was created. Having said that, the Finally, while there are reasons behind why only the Database image is different, I'm afraid I can't discuss them here on GitHub. |
So, if we aren't able to get into the |
They are completely different. There is no way to even compare them. The image on Container Registry and Docker Store bares almost zero resemblance to the once here on GitHub. I've never actually seen the |
@gvenzl may be able to address the differences. But sincerely, you shouldn't worry about the difference. If you don't like the features of the pre-built images, we encourage you to build your own, and support will still be provided if needed. |
After a while of discussions, etc. I have followed up on this on the Docker Forum: https://forums.docker.com/t/why-use-the-volume-instruction/55420 |
I was about to write up another issue, but luckily did a search instead. I see a couple reasons why the VOLUME instruction should be removed.
I guess the Dockerfile volume instruction is a left-over from a time when docker handed volumes differently and didn't have named volumes yet? So i'd like to show support towards removing the |
I would like it if the image can be built without any volume. |
This unremovable VOLUME also hurts me while trying to create a database instance during docker build. There's a simple workaround possible for the VOLUME-issue:
The Dockerfile and two wrapper-files for docker build and run I attach here as zip |
@simpss has clearly listed the problems related to having a VOLUME in the Dockerfile and there does not seem to be any reason to keep it. @brunoborges you said
Could you please clarify why most users would want or need VOLUME in the Dockerfile? |
@brunoborges has nothing to do with this repo any more. It's up to @gvenzl now. |
The |
Base Oracle DB images
container-registry.oracle.com/database/enterprise:12.2.0.1
andcontainer-registry.oracle.com/database/enterprise:12.2.0.1-slim
have the following volume mount declared:VOLUME ["/ORCL"]
Because there is no way to remove or unset a volume when extending an image, this basically prevents me from being able to create an image pre-loaded with a test or dev database.
Even if you unpack, setup, configure, and load a database, it just disappears after that Dockerfile line ends.
There are no benefits to declaring a volume line in a dockerfile. Even if you do, the client still has to declare a volume anyway to make any use of it (for example, by declaring it in a run statement or in their docker-compose.yaml file). And removing this line will have no effect, because the client can still create a volume anytime they want to be putting it in their run statement or docker-compose file.
Can you please remove the volume mount declaration from the base image?
The text was updated successfully, but these errors were encountered: