为什么Oracle XE数据库中的Listener在Docker容器初始化时没有启动?

为什么Oracle XE数据库中的Listener在Docker容器初始化时没有启动?

我已经在 Docker 容器上设置了 Oracle XE 数据库,但是当我启动容器时,尽管我在日志中收到此消息Database ready to use. Enjoy! ;),并且我可以成功连接到数据库,但显然我无法从 DataGrip 连接到它。当我exec bash进入容器并检查监听器时,由于某种原因它没有启动。我必须自己启动监听器。

这是我正在使用的 Dockerfile。

FROM ubuntu:14.04

MAINTAINER Maksym Bilenko <[email protected]>

# get rid of the message: "debconf: unable to initialize frontend: Dialog"
ENV DEBIAN_FRONTEND noninteractive

ADD chkconfig /sbin/chkconfig
ADD oracle-install.sh /oracle-install.sh
ADD init.ora /
ADD initXETemp.ora /

# Prepare to install Oracle
RUN apt-get update && apt-get install -y -q libaio1 net-tools bc curl rlwrap && \
apt-get clean && \
rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* &&\
ln -s /usr/bin/awk /bin/awk &&\
mkdir /var/lock/subsys &&\
chmod 755 /sbin/chkconfig &&\
/oracle-install.sh

# see issue #1
ENV ORACLE_HOME /u01/app/oracle/product/11.2.0/xe
ENV PATH $ORACLE_HOME/bin:$PATH
ENV ORACLE_SID=XE
ENV DEFAULT_SYS_PASS oracle

EXPOSE 1521
EXPOSE 8080
VOLUME ["/u01/app/oracle"]

ENV processes 500
ENV sessions 555
ENV transactions 610

ADD entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
CMD [""]

相关内容