Hi mates I have been working on creating a TomEE image in Docker.
I am closely to be able to release an Apache TomEE official repository on
docker hub, but I prefer you take a look first.

First of all I have decided to change from official openjdk image which is
based on debian, to official Alpine image. This change is pretty simple,
the Alpine docker image is a light docker image (only 5MB) and following
the philosophy of TomEE of light yet powerful distribution, I think this is
a really good movement in these terms. Now the TomEE Docker image is 200MB
less than the one using Debian. Concretely 191MB in front of 379MB.

Let me share with you the Dockerfile content:

FROM alpine:3.2

RUN apk --update add bash
RUN apk --update add curl
RUN apk --update add openjdk7
RUN apk --update add gnupg

# add our user and group first to make sure their IDs get assigned
consistently, regardless of whatever dependencies get added
RUN addgroup -S tomee && adduser -S -G tomee tomee

ENV PATH /usr/local/tomee/bin:$PATH
RUN mkdir -p /usr/local/tomee
RUN chown tomee:tomee /usr/local/tomee
WORKDIR /usr/local/tomee
USER tomee

RUN curl -SL http://www.apache.org/dist/tomee/KEYS -o KEYS \
        && gpg --import KEYS

RUN curl -SL
https://dist.apache.org/repos/dist/release/tomee/tomee-1.7.2/apache-tomee-1.7.2-webprofile.tar.gz.asc
-o
tomee.tar.gz.asc

RUN curl -SL
http://apache.rediris.es/tomee/tomee-1.7.2/apache-tomee-1.7.2-webprofile.tar.gz
-o
tomee.tar.gz \
        && tar -zxvf tomee.tar.gz  \
        && gpg --verify tomee.tar.gz.asc tomee.tar.gz \
        && mv apache-tomee-webprofile-1.7.2/* /usr/local/tomee \
        && rm -Rf apache-tomee-plus-1.7.2 \
        && rm bin/*.bat \
        && rm tomee.tar.gz*

EXPOSE 8080
CMD ["catalina.sh", "run"]

But it has two drawback is that alpine 3.2 still don't have support in APK
for openjdk8, but it will be added for alpine 3.3 so I am quite confident
that the best way to proceed is wait until it is released and then update
our Dockerfile and finally release our image as official image with
OpenJDK8.

The second problem is that we are setting alpine linux as default image in
our distribution and not a more popular like Debian.

Another message I have seen while creating the image was this one:

gpg: Signature made Sun May 17 22:18:30 2015 UTC using DSA key ID D297D428
gpg: Good signature from "Jonathan Gallimore <jgallim...@apache.org>"
[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the
owner.
Primary key fingerprint: DBCC D103 B8B2 4F86 FFAA  B025 C8BB 472C D297 D428

I don't know if Jonathan's key was not created by a trusted key.

Well that's all, let me know what you think about this change or what you
would like to see in official TomEE image.

Alex.

Reply via email to