我有一个yml文件
2 volumes:¬
6 quartz-pg-master_data:¬
7 ¬
8 networks:¬
9 hostnet:¬
10 external: true¬
11 name: host¬
21 configs:¬
24 quartz-create_quartz_tables-20201019-1.sh:¬
25 file: ./config/quartz/create.sql¬
15 quartz-pg-master:¬
14 image: postgres¬
13 networks:¬
12 - internal¬
11 ports:¬
10 - published: 5432¬
9 target: 5432¬
8 mode: host¬
7 environment:¬
6 PGDATA: /pg_data¬
5 POSTGRES_DB: "quartz"
POSTGRES_USER: "quartz"
POSTGRES_PASSWORD: "password"¬
4 configs:¬
3 - source: quartz-create_quartz_tables-20201019-1.sh¬
2 target: /docker-entrypoint-initdb.d/create.sql¬
1 volumes:¬
0 - quartz-pg-master_data:/pg_data¬
具有create.sql:
CREATE TABLE qrtz_service_job_details
(
SCHED_NAME VARCHAR(120) NOT NULL,
JOB_NAME VARCHAR(200) NOT NULL,
JOB_GROUP VARCHAR(200) NOT NULL,
DESCRIPTION VARCHAR(250) NULL,
JOB_CLASS_NAME VARCHAR(250) NOT NULL,
IS_DURABLE BOOL NOT NULL,
IS_NONCONCURRENT BOOL NOT NULL,
IS_UPDATE_DATA BOOL NOT NULL,
REQUESTS_RECOVERY BOOL NOT NULL,
JOB_DATA BYTEA NULL,
PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
);
CREATE TABLE qrtz_service_triggers
(
SCHED_NAME VARCHAR(120) NOT NULL,
TRIGGER_NAME VARCHAR(200) NOT NULL,
TRIGGER_GROUP VARCHAR(200) NOT NULL,
JOB_NAME VARCHAR(200) NOT NULL,
JOB_GROUP VARCHAR(200) NOT NULL,
DESCRIPTION VARCHAR(250) NULL,
NEXT_FIRE_TIME BIGINT NULL,
PREV_FIRE_TIME BIGINT NULL,
PRIORITY INTEGER NULL,
TRIGGER_STATE VARCHAR(16) NOT NULL,
TRIGGER_TYPE VARCHAR(8) NOT NULL,
START_TIME BIGINT NOT NULL,
END_TIME BIGINT NULL,
CALENDAR_NAME VARCHAR(200) NULL,
MISFIRE_INSTR SMALLINT NULL,
JOB_DATA BYTEA NULL,
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
REFERENCES qrtz_service_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
);
...
对于石英init.db。
我已成功使用日志初始化了postresql:
我跑步时
docker exec -ti bash,然后
苏石英
我的结果是:
root @ 3fac28fb199d:/#苏石英 su:用户石英不存在。
但是,我尝试使用postgres-> su postgres
我可以成功进入,但是之后我运行psql时会出现此错误
postgres@3fac28fb199d:/$ psql
psql: error: could not connect to server: FATAL: role "postgres" does not exist
似乎根本没有创建我的数据库和用户。可能是什么问题?
答案 0 :(得分:0)
在docker bash容器中,我需要使用
psql dbname用户名,因此在我看来,它可以工作并创建了我的表。
psql石英石英