-
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
[OracleDatabase/23.5.0] Unable to build a new extended image based on oracle/database:23.5.0-free because listener does not work #2870
Comments
Some additional logs:
Click here to show `/opt/oracle/cfgtoollogs/netca/trace_OraDBHome23aiFree-2410072PM2300.log`
|
I was to bypass the issue by providing:
To In my machine, I can obtain such IP address by running:
|
I can reproduce the exact same issue with Oracle 21.3.0 Express Edition. After some testing, I am confident this issue started happening after some Docker version. I was previously able to build 21.3.0 XE just fine in the past. I tried building it again at the same git revision it previously worked, and the same issue happened. Funny that it only happens with 21.3.0 XE and 23.5.0 FREE. All other versions and editions are building just fine. |
@felipecrs In my understanding it only happens when using the buildkit builder that is now the default in docker desktop and it only happens in 21.3 because it dynamically determines the hostname. |
I have this problem trying to build an Oracle free container for use in CICD testing. @felipecrs |
As I mentioned, you can obtain the IP address with |
@felipecrs i did try something like that - and it works, sometimes. I had the Oracle Listener fail to create with "The information provided for this listener is currently in use by other software on this computer." For context, I am trying to run the DB as a test container in an AWS CodeBuild CICD runner. |
Got it. For me it works every time. But you only need to build it once, you seem to be rebuilding the database on every execution? |
Yeah, we usually build even our base images somewhat regularly because the used libraries might have security relevant updates over time |
In my workflow I create a base image using the default I generally understand your workaround but could you please elaborate a bit on the details. Thank you! |
This is the full extent of what I do:
./buildContainerImage.sh -v 23.5.0 -e -t myoracle:23.5.0
./buildExtensions.sh -x prebuiltdb -b myoracle:23.5.0 -t myoracle:23.5.0-prebuilt -o \
"--build-arg ORACLE_PWD=sys --build-arg ORACLE_SID=FREE --build-arg ORACLE_PDB=FREEPDB1 --add-host=buildkitsandbox:$(docker run --rm ubuntu hostname -I)" As you can see, I don't do anything special beyond the |
@felipecrs Thanks a lot for explaining. I'm now able to get the listener running but unfortunately I'm still unable to connect from the host. When trying to connect via
Am I still missing something? |
I'm trying to extend the Oracle Database image generated by
buildContainerImage.sh
but when building the new image the listener cannot be started with the following error message:This is my configuration using docker desktop 4.34.2 running macOS 15.0 on an Intel MacBook Pro:
Dockerfile
:Interestingly when running the base image the listener and the database start as expected:
Based on a ChatGPT suggestion, I just discovered that when not using the deprecated legacy builder instead of buildkit the listener actually starts during the build but unfortunately when then using the new image it still fails and it is not possible to connect to the database when using the listener.
I used the following command line to start the build:
and this allows to to actually perform the build.
Unfortunately when running the image, it is not possible to connect using the listener as it still seems to be misconfigured.
Starting the image using
docker run -it --name test -p 1521:1521 -p 5500:5500 -p 2484:2484 --ulimit nofile=1024:65536 --ulimit nproc=2047:16384 --ulimit stack=10485760:33554432 --ulimit memlock=3221225472 -e ORACLE_PWD=manager oracle/database_extended:23.5.0-free
now shows:Using
sqlplus sys/manager as sysdba
in the container works:Using
sqlplus sys/manager@localhost:1521/FREE as sysdba
does not:The text was updated successfully, but these errors were encountered: