我正在尝试在oracle容器启动并运行后设置oracle数据,下面是我的组成文件:
version: '3'
services:
oracle:
image: absolutapps/oracle-12c-ee
container_name: oracle-docker
ports:
- 8080:8080
- 1521:1521
environment:
CASSANDRA_BROADCAST_ADDRESS: 127.0.0.1
ORACLE_ALLOW_REMOTE: "true"
volumes:
- ./scripts/oracle-init.sh:/oracle-init.sh
oracle-init.sh:
#!/usr/bin/env bash
echo "### SETUP EXECUTION! ###"
sqlplus -s "system/oracle@localhost:1521/orcl /scripts/init-oracle.sql"
echo "### SETUP EXECUTED! ###"
init-oracle.sql:
CREATE USER ot_consumer_tryout IDENTIFIED BY ot_consumer_tryout;
有人能帮我上面的片段出了什么问题吗。我的docker容器正在启动,但sql脚本没有执行,这是来自终端的日志:
oracle docker|正在运行init脚本。。。oracle docker|/oracle.Init.d/中的Init脚本:忽略/oracle-Init.d/*甲骨文码头工人|oracledocker |完成了脚本,我们准备开始
查看您创建的卷
- ./scripts/oracle-init.sh:/oracle-init.sh
这意味着在您的容器中,文件位于"/oracle init.sh"中,但您的根据您的容器日志,容器可能期望在不同的位置出现文件夹名为oracle.init.d
的内容。
oracle-init.sh
正在尝试运行/scripts/init-oracle.sql
,希望您的映像已经有了它,否则您将不得不在compose文件中装载它。