我正在运行一个docker postgres映像,该映像是通过Dockerfile构建的。在Dockerfile中,我将位于/ data目录中的CSV复制到docker机器中的/ data /中。像这样:
COPY /data/* /data/
我还将sql文件复制到docker入口点,因此它将在容器启动时执行。 现在问题来了。在proeve_schema.sql中,我正在创建一个表:
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
ORDERDATE TEXT,
CASETYPE TEXT,
CASEID TEXT,
);
我正在尝试将CSV中的数据复制到表中:
COPY sample_data
FROM '/data/bom_sampledata_1000.csv' DELIMITER ',' CSV HEADER;
但是,当我尝试运行容器时,它崩溃了,没有任何错误日志。 当我删除COPY语句时,它运行良好并且生成了我的表。 此外,容器中还存在CSV文件。
Dockerfile:
RUN mkdir -p /data
#copy all data to the container
COPY /data/* /data/
COPY proeve_schema.sql /docker-entrypoint-initdb.d/```
RUN chown postgres /data
RUN chmod +w /data
proeve_schema.sql:
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
ORDERDATE TEXT,
CASETYPE TEXT,
CASEID TEXT,
CUSTOMERNUMBER TEXT,
);
COPY sample_data
FROM '/data/data.csv' DELIMITER ',' CSV HEADER;```