oraclelinux:7.1イメージ(Dockerバージョン1.12.5)に基づいてドッキング・コンテナにOracle 12cをインストールしました。しかし、少し問題があります。コンテナを実行すると、ディレクトリ/docker-entrypoint-initdb.dにある自分のスクリプトは実行されません(DBユーザの作成、付与の実行、スキーマの設定など)。ここで何が問題になるでしょうか?/docker-entrypoint-initdb.dディレクトリ内のSQLスクリプトは実行されません
/docker-entrypoint-initdb.dとその中のすべてのSQLファイルには、アクセス権が777に設定されています。デフォルトのシステムユーザーを使用してDBにログインできます。あなた以下
はDockerfileコピーSQLスクリプトを見つけることができます:
FROM oracle-12c:latest
USER oracle
ENV ORACLE_SID ORCL
ENV ORACLE_HOME /u01/app/oracle/product/12.1/db_1
ENV PATH $PATH:$ORACLE_HOME/bin
USER root
RUN echo $PATH
COPY init-scripts/* /docker-entrypoint-initdb.d/
EXPOSE 1521
私のコンテナからのログ:私はあなたがドッキングウィンドウ・エントリポイントの一部を話していると仮定してい
2017-01-13T15:43:09.158097846Z
**************************
**** Starting up... ****
**************************
2017-01-13T15:43:09.158142165Z
/home/oracle/.bashrc: line 12: /usr/sbin/groupadd: Permission denied
2017-01-13T15:43:09.308941164Z
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 13-JAN-2017 15:43:09
2017-01-13T15:43:09.308978154Z
Copyright (c) 1991, 2014, Oracle. All rights reserved.
2017-01-13T15:43:09.308987178Z
Starting /u01/app/oracle/product/12.1/db_1/bin/tnslsnr: please wait...
2017-01-13T15:43:09.314168904Z
TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Log messages written to /u01/app/oracle/diag/tnslsnr/5657f8f40e69/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=5657f8f40e69)(PORT=1521)))
2017-01-13T15:43:15.939107815Z
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 13-JAN-2017 15:43:09
Uptime 0 days 0 hr. 0 min. 6 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /u01/app/oracle/diag/tnslsnr/5657f8f40e69/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=5657f8f40e69)(PORT=1521)))
The listener supports no services
The command completed successfully
/home/oracle/.bashrc: line 12: /usr/sbin/groupadd: Permission denied
Processing Database instance "ORCL": log file /u01/app/oracle/product/12.1/db_1/startup.log
/home/oracle/.bashrc: line 12: /usr/sbin/groupadd: Permission denied
2017-01-13T15:43:42.583817187Z
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 13-JAN-2017 15:43:42
2017-01-13T15:43:42.583862324Z
Copyright (c) 1991, 2014, Oracle. All rights reserved.
2017-01-13T15:43:42.583872256Z
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 13-JAN-2017 15:43:09
Uptime 0 days 0 hr. 0 min. 33 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /u01/app/oracle/diag/tnslsnr/5657f8f40e69/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=5657f8f40e69)(PORT=1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully
2017-01-13T15:43:42.609310535Z
**************************
**** Startup finished ****
**************************
2017-01-13T15:43:42.609351046Z
私はここではっきりと分からないかもしれませんが、最初に '/ docker-entrypoint-initdb.d /'のスクリプトを実行する必要がありますか?ドッカー? Oracle DB起動スクリプト?あなたのログインシェル? –
@FrankSchmitt:これはデフォルトの動作ではありませんか? Oracle 11gのコンテナでこれらのスクリプトが実行されました。 Oracle 12cのイメージは、Oracle 11gイメージのDockerfileに基づいています。私はおそらく何かを見逃してしまったが、私は何が分からない。 – lasjak