在dockerfile中执行sqlite命令

时间:2016-04-12 13:56:39

标签: dockerfile

这个dockerfile工作正常。但是如何在dockerfile中执行命令?

FROM alpine 
RUN apk add --update sqlite && rm -rf /var/cache/apk/*
RUN apk add --update wget && rm -rf /var/cache/apk/*
RUN wget --no-check-certificate https://cdn.rawgit.com/times/data/master/sunday_times_panama_data.zip
RUN unzip sunday_times_panama_data.zip

但是下一部分需要在sqlite提示符下执行。我如何申报这部分?

# sqlite commands:
sqlite3 sundayTimesPanamaPapers.sqlite
.mode csv
CREATE TABLE panama(company_url TEXT,company_name TEXT,officer_position_es TEXT,officer_position_en TEXT,officer_name TEXT,inc_date TEXT,dissolved_date TEXT,updated_date TEXT,company_type TEXT,mf_link TEXT);
.import sunday_times_panama_data.csv panama

2 个答案:

答案 0 :(得分:1)

我可以将命令保存到文件中,然后在这样的dockerfile中执行文件......

ADD sqlite_commands.sql /
RUN sqlite3 panama.sqlite < /sqlite_commands.sql

答案 1 :(得分:0)

使用管道输入命令:

RUN echo '.mode csv\nCREATE TABLE panama(company_url TEXT,company_name TEXT,officer_position_es TEXT,officer_position_en TEXT,officer_name TEXT,inc_date TEXT,dissolved_date TEXT,updated_date TEXT,company_type TEXT,mf_link TEXT);\n.import sunday_times_panama_data.csv panama' | sqlite3 sundayTimesPanamaPapers.sqlite