Acoplable instalar Tomcat
Un método mediante la construcción de Dockerfile
crear Dockerfile
En primer lugar, crear un directorio de Tomcat, que se utiliza para almacenar la materia relacionada con la espalda.
w3big@w3big:~$ mkdir -p ~/tomcat/webapps ~/tomcat/logs ~/tomcat/conf
directorio webapps se asigna al directorio de la aplicación de configuración de contenedor Tomcat
directorio de registros será asignado al directorio de registro contenedor Tomcat
perfil conf se asignará al contenedor Tomcat perfil
Entra en el directorio Tomcat creado, crear Dockerfile
FROM java:8-jre ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH RUN mkdir -p "$CATALINA_HOME" WORKDIR $CATALINA_HOME # runtime dependencies for Tomcat Native Libraries # Tomcat Native 1.2+ requires a newer version of OpenSSL than debian:jessie has available (1.0.2g+) # see http://tomcat.10.x6.nabble.com/VOTE-Release-Apache-Tomcat-8-0-32-tp5046007p5046024.html (and following discussion) ENV OPENSSL_VERSION 1.0.2h-1 RUN { \ echo 'deb http://httpredir.debian.org/debian unstable main'; \ } > /etc/apt/sources.list.d/unstable.list \ && { \ # add a negative "Pin-Priority" so that we never ever get packages from unstable unless we explicitly request them echo 'Package: *'; \ echo 'Pin: release a=unstable'; \ echo 'Pin-Priority: -10'; \ echo; \ # except OpenSSL, which is the reason we're here echo 'Package: openssl libssl*'; \ echo "Pin: version $OPENSSL_VERSION"; \ echo 'Pin-Priority: 990'; \ } > /etc/apt/preferences.d/unstable-openssl RUN apt-get update && apt-get install -y --no-install-recommends \ libapr1 \ openssl="$OPENSSL_VERSION" \ && rm -rf /var/lib/apt/lists/* # see https://www.apache.org/dist/tomcat/tomcat-8/KEYS RUN set -ex \ && for key in \ 05AB33110949707C93A279E3D3EFE6B686867BA6 \ 07E48665A34DCAFAE522E5E6266191C37C037D42 \ 47309207D818FFD8DCD3F83F1931D684307A10A5 \ 541FBE7D8F78B25E055DDEE13C370389288584E7 \ 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 \ 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED \ 9BA44C2621385CB966EBA586F72C284D731FABEE \ A27677289986DB50844682F8ACB77FC2E86E29AC \ A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 \ DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 \ F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE \ F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23 \ ; do \ gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ done ENV TOMCAT_MAJOR 8 ENV TOMCAT_VERSION 8.0.35 ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz RUN set -x \ \ && curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \ && curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc \ && gpg --batch --verify tomcat.tar.gz.asc tomcat.tar.gz \ && tar -xvf tomcat.tar.gz --strip-components=1 \ && rm bin/*.bat \ && rm tomcat.tar.gz* \ \ && nativeBuildDir="$(mktemp -d)" \ && tar -xvf bin/tomcat-native.tar.gz -C "$nativeBuildDir" --strip-components=1 \ && nativeBuildDeps=" \ gcc \ libapr1-dev \ libssl-dev \ make \ openjdk-${JAVA_VERSION%%[-~bu]*}-jdk=$JAVA_DEBIAN_VERSION \ " \ && apt-get update && apt-get install -y --no-install-recommends $nativeBuildDeps && rm -rf /var/lib/apt/lists/* \ && ( \ export CATALINA_HOME="$PWD" \ && cd "$nativeBuildDir/native" \ && ./configure \ --libdir=/usr/lib/jni \ --prefix="$CATALINA_HOME" \ --with-apr=/usr/bin/apr-1-config \ --with-java-home="$(docker-java-home)" \ --with-ssl=yes \ && make -j$(nproc) \ && make install \ ) \ && apt-get purge -y --auto-remove $nativeBuildDeps \ && rm -rf "$nativeBuildDir" \ && rm bin/tomcat-native.tar.gz # verify Tomcat Native is working properly RUN set -e \ && nativeLines="$(catalina.sh configtest 2>&1)" \ && nativeLines="$(echo "$nativeLines" | grep 'Apache Tomcat Native')" \ && nativeLines="$(echo "$nativeLines" | sort -u)" \ && if ! echo "$nativeLines" | grep 'INFO: Loaded APR based Apache Tomcat Native library' >&2; then \ echo >&2 "$nativeLines"; \ exit 1; \ fi EXPOSE 8080 CMD ["catalina.sh", "run"]
Crear un espejo a través Dockerfile, reemplazarlo con su propio nombre
w3big@w3big:~/tomcat$ docker build -t tomcat .
Una vez creado, podemos encontrar la imagen que acaba de crear en la lista de réplica local
w3big@w3big:~/tomcat$ docker images|grep tomcat tomcat latest 70f819d3d2d9 7 days ago 335.8 MB
Método dos, Tomcat cargador de muelle de tracción
Encuentra Tomcat en el Eje acoplable espejo
w3big@w3big:~/tomcat$ docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomcat is an open source implementa... 744 [OK] dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba... 19 [OK] consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 16 [OK] consol/tomcat-8.0 Tomcat 8.0.15, 8080, "admin/admin" 14 [OK] cloudesire/tomcat Tomcat server, 6/7/8 8 [OK] davidcaste/alpine-tomcat Apache Tomcat 7/8 using Oracle Java 7/8 wi... 6 [OK] andreptb/tomcat Debian Jessie based image with Apache Tomc... 4 [OK] kieker/tomcat 2 [OK] fbrx/tomcat Minimal Tomcat image based on Alpine Linux 2 [OK] jtech/tomcat Latest Tomcat production distribution on l... 1 [OK]
Aquí tiramos las réplicas oficiales
w3big@w3big:~/tomcat$ docker pull tomcat
Esperar a que se complete la descarga, podemos encontrar un repositorio Tomcat reflejado en la lista de réplicas locales.
Mirroring utilizando Tomcat
contenedor de ejecutar
w3big@w3big:~/tomcat$ docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat acb33fcb4beb8d7f1ebace6f50f5fc204b1dbe9d524881267aa715c61cf75320 w3big@w3big:~/tomcat$
Comando Descripción:
-p 8080: 8080: 8080 va a proyectar en el puerto de contenedores de puerto de host 8080
-v $ PWD / test: / usr / local / tomcat / webapps / test: el anfitrión de prueba en el directorio actual está montado en el contenedor / prueba
Compruebe el contenedor comienza circunstancias
w3big@w3big:~/tomcat$ docker ps CONTAINER ID IMAGE COMMAND ... PORTS NAMES acb33fcb4beb tomcat "catalina.sh run" ... 0.0.0.0:8080->8080/tcp tomcat
Se accede a través de un navegador