我对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 );
我完全卡住了,我希望得到一些反馈或提示,我应该做什么来解决这个问题。这可能是真的很简单,我做错了,所以希望从中学习
创建表前需要连接用户名和密码
查看这个博客了解更多细节,它对我有效