Skip to content

Commit 61343c2

Browse files
author
Masashi Yoshikawa
committed
fix Dockerfile
1 parent e3d04b1 commit 61343c2

File tree

1 file changed

+45
-34
lines changed

1 file changed

+45
-34
lines changed

Dockerfile

Lines changed: 45 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,45 @@
1-
FROM python:3.6.3-jessie
1+
FROM openjdk:8-jdk-stretch AS build-env
2+
3+
RUN apt-get update && \
4+
apt-get install -y ant
5+
6+
WORKDIR /build
7+
RUN git clone https://github.com/uwnlp/EasySRL && \
8+
cd EasySRL && \
9+
ant
10+
11+
WORKDIR /build
12+
RUN git clone https://github.com/mikelewis0/easyccg
13+
14+
ADD https://github.com/mynlp/jigg/archive/v-0.4.tar.gz /build/v-0.4.tar.gz
15+
RUN tar xzf v-0.4.tar.gz
16+
217

3-
ENV LC_ALL=C.UTF-8
4-
ENV LANG=C.UTF-8
18+
19+
FROM python:3.6.3-jessie
520

621
MAINTAINER Masashi Yoshikawa <[email protected]>
722

8-
# Install Java
9-
RUN echo "deb http://http.debian.net/debian jessie-backports main" >>/etc/apt/sources.list
10-
RUN apt-get update
11-
RUN apt-get install -y -t jessie-backports openjdk-8-jdk
23+
ENV LC_ALL=C.UTF-8
24+
ENV LANG=C.UTF-8
1225

1326
# Install ccg2lambda specific dependencies
14-
RUN apt-get update --fix-missing && \
27+
RUN sed -i -s '/debian jessie-updates main/d' /etc/apt/sources.list && \
28+
echo "deb http://archive.debian.org/debian jessie-backports main" >> /etc/apt/sources.list && \
29+
echo "Acquire::Check-Valid-Until false;" >/etc/apt/apt.conf.d/10-nocheckvalid && \
30+
echo 'Package: *\nPin: origin "archive.debian.org"\nPin-Priority: 500' >/etc/apt/preferences.d/10-archive-pi && \
31+
apt-get update && \
32+
apt-get install -y openjdk-8-jre && \
33+
apt-get update --fix-missing && \
1534
apt-get install -y \
16-
ant \
1735
bc \
1836
coq=8.4pl4dfsg-1 \
1937
libxml2-dev \
2038
libxslt1-dev && \
21-
rm -rf /var/lib/apt/lists/*
22-
23-
RUN pip install lxml simplejson pyyaml -I nltk==3.0.5 cython chainer==4.0.0
24-
RUN python -c "import nltk; nltk.download('wordnet')"
39+
rm -rf /var/lib/apt/lists/* && \
40+
pip install -U pip && \
41+
pip install lxml simplejson pyyaml -I nltk==3.0.5 cython numpy chainer==4.0.0 && \
42+
python -c "import nltk; nltk.download('wordnet')"
2543

2644
WORKDIR /app
2745
ADD . /app
@@ -37,46 +55,39 @@ RUN tar xvf models-1.02.tgz && \
3755
echo "candc:/app/parsers/candc-1.00" >> /app/en/parser_location.txt
3856

3957
# Install easyccg
40-
WORKDIR /app/parsers
41-
RUN git clone https://github.com/mikelewis0/easyccg
4258
WORKDIR /app/parsers/easyccg
59+
COPY --from=build-env /build/easyccg/easyccg.jar /app/parsers/easyccg/easyccg.jar
4360
ADD https://drive.google.com/uc?export=download&id=0B7AY6PGZ8lc-dUN4SDcxWkczM2M /app/parsers/easyccg/model.tar.gz
44-
RUN tar xvf model.tar.gz && echo "easyccg:"`pwd` >> /app/en/parser_location.txt
61+
RUN tar xvf model.tar.gz && \
62+
echo "easyccg:"`pwd` >> /app/en/parser_location.txt
4563

4664
# Install EasySRL
47-
RUN git clone https://github.com/uwnlp/EasySRL /app/parsers/EasySRL
4865
WORKDIR /app/parsers/EasySRL
66+
COPY --from=build-env /build/EasySRL/easysrl.jar /app/parsers/EasySRL/easysrl.jar
4967
# Download model file (the ugly script is due to downloading the large file from Google Drive)
5068
RUN wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet \
5169
--save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate \
5270
'https://docs.google.com/uc?export=download&id=0B7AY6PGZ8lc-R1E3aTA5WG54bWM' -O- | \
5371
sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=0B7AY6PGZ8lc-R1E3aTA5WG54bWM" -O model.tar.gz 2> /dev/null && \
54-
rm -rf /tmp/cookies.txt
55-
RUN ant && tar xvf model.tar.gz && \
72+
rm -rf /tmp/cookies.txt && \
73+
tar xvf model.tar.gz && \
5674
echo "easysrl:/app/parsers/EasySRL/" >> /app/en/parser_location.txt
5775

5876
# Install Jigg
59-
WORKDIR /app/parsers
60-
ADD https://github.com/mynlp/jigg/archive/v-0.4.tar.gz /app/parsers/v-0.4.tar.gz
61-
RUN tar xzf v-0.4.tar.gz
77+
COPY --from=build-env /build/jigg-v-0.4/jar/jigg-0.4.jar /app/parsers/jigg-v-0.4/jar/jigg-0.4.jar
6278
ADD https://github.com/mynlp/jigg/releases/download/v-0.4/ccg-models-0.4.jar /app/parsers/jigg-v-0.4/jar/
6379
RUN echo "/app/parsers/jigg-v-0.4" > /app/ja/jigg_location.txt && \
6480
echo "jigg:/app/parsers/jigg-v-0.4" >> /app/ja/parser_location_ja.txt
6581

6682
# Install depccg
67-
WORKDIR /app/parsers
68-
RUN git clone https://github.com/masashi-y/depccg
69-
WORKDIR /app/parsers/depccg/models
70-
ADD http://cl.naist.jp/~masashi-y/resources/depccg/en_hf_tri.tar.gz /app/parsers/depccg/models/en_hf_tri.tar.gz
71-
ADD http://cl.naist.jp/~masashi-y/resources/depccg/ja_hf_ccgbank.tar.gz /app/parsers/depccg/models/ja_hf_ccgbank.tar.gz
72-
RUN tar xvf en_hf_tri.tar.gz && tar xvf ja_hf_ccgbank.tar.gz
73-
WORKDIR /app/parsers/depccg/src
74-
RUN python setup.py build_ext --inplace 2> /dev/null && \
75-
echo "depccg:/app/parsers/depccg/" >> /app/en/parser_location.txt && \
76-
echo "depccg:/app/parsers/depccg/" >> /app/ja/parser_location_ja.txt
83+
RUN pip install depccg && \
84+
python -m depccg en download && \
85+
python -m depccg ja download && \
86+
echo "depccg:" >> /app/en/parser_location.txt && \
87+
echo "depccg:" >> /app/ja/parser_location_ja.txt
7788

7889
WORKDIR /app
79-
RUN cp ./en/coqlib_sick.v ./coqlib.v && coqc coqlib.v
80-
RUN cp ./en/tactics_coq_sick.txt ./tactics_coq.txt
90+
RUN cp ./en/coqlib_sick.v ./coqlib.v && coqc coqlib.v && \
91+
cp ./en/tactics_coq_sick.txt ./tactics_coq.txt
8192
# CMD ["en/rte_en_mp_any.sh", "en/sample_en.txt", "en/semantic_templates_en_emnlp2015.yaml"]
8293
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)