表在用docker compose初始化后不可见



我对Docker没有经验,并且在我的docker compose实验中卡住了。我正在尝试启动一个Oracle数据库(image: gvenzl/Oracle -xe)。

我还向/docker-entrypoint-initdb.d/目录添加了两个SQL脚本,一个用于创建用户,另一个用于创建表。当我执行docker compose up命令时,日志显示这些脚本被拾取,并且确实创建了(第一个脚本的)用户。但是,当我用SQLDeveloper连接到正在运行的容器时,我找不到我的表。

我制作了一个自定义映像,使用ADD将这些文件放入正确的目录(这里没有显示,但确认它们在那里)。下面是我使用的文件:

docker-compose.yml(只是添加了行号,方便参考,如果有什么错误)

1 version: "3.8"     
2            
3 services:  
4   db-oracle-xe:    
5     build: .       
6     restart: on-failure    
7     image: oracle-xe:latest
8     environment:   
9       ORACLE_PASSWORD: some_pass
10       APP_USER: someuser   
11       APP_USER_PASSWORD: some_other_pass
12     volumes:       
13       - some-data:/var/docker-data/oracle
14     ports: 
15       - "1521:1521"
16            
17 volumes:   
18   some-data:                                                                                                                        

0-create-user.sql

CREATE USER TEST;

1-create-table.sql

1 create table TEST.SOME_TABLE
2 (
3     ID                                  NUMBER(19)              NOT NULL,
4     ADDED_DATE                          VARCHAR2(255 CHAR),     
5     NAME                                VARCHAR2(255 CHAR)      NOT NULL,
6     CREATED_TIME                        TIMESTAMP               NOT NULL,
7 );  

我完全卡住了,我希望得到一些反馈或提示,我应该做什么来解决这个问题。这可能是真的很简单,我做错了,所以希望从中学习

创建表前需要连接用户名和密码

查看这个博客了解更多细节,它对我有效

相关内容

  • 没有找到相关文章

最新更新