Skip to content

Commit b65e0df

Browse files
committed
- Clean list files downloaded by apt-get update and wandering wars
- Added CMD with catalina.sh and safeguard entry script, to make sure its called by catalina.sh - Replaced ENV_BASE_DIR by existing CATALINA_HOME - Remove redundant port exposition - Read checksum from file downloaded from the GN repository (to support war updates).
1 parent c3eba26 commit b65e0df

File tree

9 files changed

+63
-54
lines changed

9 files changed

+63
-54
lines changed

3.0.4/Dockerfile

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@ FROM tomcat:8.0
22

33
#Environment variables
44
ENV GN_VERSION 3.0.4
5-
ENV GN_DOWNLOAD_MD5 b50d0c63c0e4750d7ea87d4853fa4cdb
65
ENV GN_FILE geonetwork.war
7-
ENV BASE_DIR /usr/local/tomcat
8-
ENV DATA_DIR=$BASE_DIR/webapps/geonetwork/WEB-INF/data
6+
ENV DATA_DIR=$CATALINA_HOME/webapps/geonetwork/WEB-INF/data
97
ENV JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xmx512M -Xss2M -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC"
108

11-
WORKDIR $BASE_DIR/webapps
9+
WORKDIR $CATALINA_HOME/webapps
1210

13-
RUN curl -fSL -o $GN_FILE \
14-
https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war/download && \
15-
echo "$GN_DOWNLOAD_MD5 *$GN_FILE" | md5sum -c
11+
RUN curl -fSL -o geonetwork.war.MD5 https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war.MD5/download && \
12+
curl -fSL -o $GN_FILE \
13+
https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war/download && \
14+
echo "$(cat geonetwork.war.MD5) *$GN_FILE" | md5sum -c
1615

17-
RUN mkdir -p $BASE_DIR/webapps/geonetwork && \
18-
unzip -e $BASE_DIR/webapps/$GN_FILE -d $BASE_DIR/webapps/geonetwork
19-
20-
EXPOSE 8080
16+
RUN mkdir -p $CATALINA_HOME/webapps/geonetwork && \
17+
unzip -e $CATALINA_HOME/webapps/$GN_FILE -d $CATALINA_HOME/webapps/geonetwork && \
18+
rm geonetwork.war
2119

2220
#Set geonetwork data dir
2321
COPY ./docker-entrypoint.sh /entrypoint.sh
2422
ENTRYPOINT ["/entrypoint.sh"]
23+
24+
CMD ["catalina.sh", "run"]

3.0.4/docker-entrypoint.sh

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
#!/bin/bash
22
set -e
33

4-
mkdir -p "$DATA_DIR"
4+
if [ "$1" = 'catalina.sh' ]; then
55

6-
#Set geonetwork data dir
7-
sed -i '$d' /usr/local/tomcat/bin/setclasspath.sh
8-
echo "CATALINA_OPTS=\"\$CATALINA_OPTS -Dgeonetwork.dir=$DATA_DIR\"" >> /usr/local/tomcat/bin/setclasspath.sh
9-
echo "fi" >> /usr/local/tomcat/bin/setclasspath.sh
6+
mkdir -p "$DATA_DIR"
107

11-
"$BASE_DIR"/bin/catalina.sh run
8+
#Set geonetwork data dir
9+
sed -i '$d' /usr/local/tomcat/bin/setclasspath.sh
10+
echo "CATALINA_OPTS=\"\$CATALINA_OPTS -Dgeonetwork.dir=$DATA_DIR\"" >> /usr/local/tomcat/bin/setclasspath.sh
11+
echo "fi" >> /usr/local/tomcat/bin/setclasspath.sh
12+
13+
fi
1214

1315
exec "$@"

3.0.4/postgres/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM geonetwork:3.0.4
22

3-
RUN apt-get update && apt-get install -y postgresql-client
3+
RUN apt-get update && apt-get install -y postgresql-client && \
4+
apt-get clean && rm -rf /var/lib/apt/lists/*
45

56
#Set PostgreSQL as default GN DB
67
RUN sed -i -e 's#<import resource="../config-db/h2.xml"/>#<!--<import resource="../config-db/h2.xml"/> -->#g' $BASE_DIR/webapps/geonetwork/WEB-INF/config-node/srv.xml

3.0.5/Dockerfile

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@ FROM tomcat:8.0
22

33
#Environment variables
44
ENV GN_VERSION 3.0.5
5-
ENV GN_DOWNLOAD_MD5 5ca886ea790fd9fe82c7a77c12e1b68d
65
ENV GN_FILE geonetwork.war
7-
ENV BASE_DIR /usr/local/tomcat
8-
ENV DATA_DIR=$BASE_DIR/webapps/geonetwork/WEB-INF/data
6+
ENV DATA_DIR=$CATALINA_HOME/webapps/geonetwork/WEB-INF/data
97
ENV JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xmx512M -Xss2M -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC"
108

11-
WORKDIR $BASE_DIR/webapps
9+
WORKDIR $CATALINA_HOME/webapps
1210

13-
RUN curl -fSL -o $GN_FILE \
14-
https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war/download && \
15-
echo "$GN_DOWNLOAD_MD5 *$GN_FILE" | md5sum -c
11+
RUN curl -fSL -o geonetwork.war.MD5 https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war.MD5/download && \
12+
curl -fSL -o $GN_FILE \
13+
https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war/download && \
14+
echo "$(cat geonetwork.war.MD5) *$GN_FILE" | md5sum -c
1615

17-
RUN mkdir -p $BASE_DIR/webapps/geonetwork && \
18-
unzip -e $BASE_DIR/webapps/$GN_FILE -d $BASE_DIR/webapps/geonetwork
19-
20-
EXPOSE 8080
16+
RUN mkdir -p $CATALINA_HOME/webapps/geonetwork && \
17+
unzip -e $CATALINA_HOME/webapps/$GN_FILE -d $CATALINA_HOME/webapps/geonetwork && \
18+
rm geonetwork.war && rm geonetwork.war.MD5
2119

2220
#Set geonetwork data dir
2321
COPY ./docker-entrypoint.sh /entrypoint.sh
2422
ENTRYPOINT ["/entrypoint.sh"]
23+
24+
CMD ["catalina.sh", "run"]

3.0.5/docker-entrypoint.sh

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
#!/bin/bash
22
set -e
33

4-
mkdir -p "$DATA_DIR"
4+
if [ "$1" = 'catalina.sh' ]; then
55

6-
#Set geonetwork data dir
7-
sed -i '$d' /usr/local/tomcat/bin/setclasspath.sh
8-
echo "CATALINA_OPTS=\"\$CATALINA_OPTS -Dgeonetwork.dir=$DATA_DIR\"" >> /usr/local/tomcat/bin/setclasspath.sh
9-
echo "fi" >> /usr/local/tomcat/bin/setclasspath.sh
6+
mkdir -p "$DATA_DIR"
107

11-
"$BASE_DIR"/bin/catalina.sh run
8+
#Set geonetwork data dir
9+
sed -i '$d' /usr/local/tomcat/bin/setclasspath.sh
10+
echo "CATALINA_OPTS=\"\$CATALINA_OPTS -Dgeonetwork.dir=$DATA_DIR\"" >> /usr/local/tomcat/bin/setclasspath.sh
11+
echo "fi" >> /usr/local/tomcat/bin/setclasspath.sh
12+
13+
fi
1214

1315
exec "$@"

3.0.5/postgres/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM geonetwork:3.0.5
22

3-
RUN apt-get update && apt-get install -y postgresql-client
3+
RUN apt-get update && apt-get install -y postgresql-client && \
4+
apt-get clean && rm -rf /var/lib/apt/lists/*
45

56
#Set PostgreSQL as default GN DB
67
RUN sed -i -e 's#<import resource="../config-db/h2.xml"/>#<!--<import resource="../config-db/h2.xml"/> -->#g' $BASE_DIR/webapps/geonetwork/WEB-INF/config-node/srv.xml

3.2.0/Dockerfile

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@ FROM tomcat:8-jre8
22

33
#Environment variables
44
ENV GN_VERSION 3.2.0
5-
ENV GN_DOWNLOAD_MD5 87a84ffb3fbbd662d595c08e1a7fdff2
65
ENV GN_FILE geonetwork.war
7-
ENV BASE_DIR /usr/local/tomcat
8-
ENV DATA_DIR=$BASE_DIR/webapps/geonetwork/WEB-INF/data
6+
ENV DATA_DIR=$CATALINA_HOME/webapps/geonetwork/WEB-INF/data
97
ENV JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xmx512M -Xss2M -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC"
108

11-
WORKDIR $BASE_DIR/webapps
9+
WORKDIR $CATALINA_HOME/webapps
1210

13-
RUN curl -fSL -o $GN_FILE \
14-
https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war/download && \
15-
echo "$GN_DOWNLOAD_MD5 *$GN_FILE" | md5sum -c
11+
RUN curl -fSL -o geonetwork.war.MD5 https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war.MD5/download && \
12+
curl -fSL -o $GN_FILE \
13+
https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/geonetwork.war/download && \
14+
echo "$(cat geonetwork.war.MD5) *$GN_FILE" | md5sum -c
1615

17-
RUN mkdir -p $BASE_DIR/webapps/geonetwork && \
18-
unzip -e $BASE_DIR/webapps/$GN_FILE -d $BASE_DIR/webapps/geonetwork
19-
20-
EXPOSE 8080
16+
RUN mkdir -p $CATALINA_HOME/webapps/geonetwork && \
17+
unzip -e $CATALINA_HOME/webapps/$GN_FILE -d $CATALINA_HOME/webapps/geonetwork && \
18+
rm geonetwork.war
2119

2220
#Set geonetwork data dir
2321
COPY ./docker-entrypoint.sh /entrypoint.sh
2422
ENTRYPOINT ["/entrypoint.sh"]
23+
24+
CMD ["catalina.sh", "run"]

3.2.0/docker-entrypoint.sh

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
#!/bin/bash
22
set -e
33

4-
mkdir -p "$DATA_DIR"
4+
if [ "$1" = 'catalina.sh' ]; then
55

6-
#Set geonetwork data dir
7-
sed -i '$d' /usr/local/tomcat/bin/setclasspath.sh
8-
echo "CATALINA_OPTS=\"\$CATALINA_OPTS -Dgeonetwork.dir=$DATA_DIR\"" >> /usr/local/tomcat/bin/setclasspath.sh
9-
echo "fi" >> /usr/local/tomcat/bin/setclasspath.sh
6+
mkdir -p "$DATA_DIR"
107

11-
"$BASE_DIR"/bin/catalina.sh run
8+
#Set geonetwork data dir
9+
sed -i '$d' /usr/local/tomcat/bin/setclasspath.sh
10+
echo "CATALINA_OPTS=\"\$CATALINA_OPTS -Dgeonetwork.dir=$DATA_DIR\"" >> /usr/local/tomcat/bin/setclasspath.sh
11+
echo "fi" >> /usr/local/tomcat/bin/setclasspath.sh
12+
13+
fi
1214

1315
exec "$@"

3.2.0/postgres/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
FROM geonetwork:3.2.0
22

3-
RUN apt-get update && apt-get install -y postgresql-client
3+
RUN apt-get update && apt-get install -y postgresql-client && \
4+
apt-get clean && rm -rf /var/lib/apt/lists/*
45

56
#Set PostgreSQL as default GN DB
67
RUN sed -i -e 's#<import resource="../config-db/h2.xml"/>#<!--<import resource="../config-db/h2.xml"/> -->#g' $BASE_DIR/webapps/geonetwork/WEB-INF/config-node/srv.xml

0 commit comments

Comments
 (0)