عامل الميناء تثبيت القط
وهناك طريقة عن طريق بناء Dockerfile
إنشاء Dockerfile
أولا، إنشاء هر دليل، وتستخدم لتخزين الاشياء المتعلقة الظهر.
w3big@w3big:~$ mkdir -p ~/tomcat/webapps ~/tomcat/logs ~/tomcat/conf
وسوف يتم وضع دليل webapps إلى دليل التطبيق التكوين حاوية هر
وسوف يتم وضع دليل سجلات لدليل السجل حاوية هر
سيتم تعيين الشخصية دليل أسيوط إلى الحاوية هر الشخصي
أدخل دليل هر خلق، خلق 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"]
إنشاء مرآة من خلال Dockerfile، والاستعاضة عنها مع الاسم الخاص بك
w3big@w3big:~/tomcat$ docker build -t tomcat .
وبمجرد إنشاء، يمكننا العثور على الصورة التي تم إنشاؤها فقط في قائمة مرآة المحلية
w3big@w3big:~/tomcat$ docker images|grep tomcat tomcat latest 70f819d3d2d9 7 days ago 335.8 MB
أسلوب اثنين، عامل ميناء سحب هر
البحث هر على المرآة عامل الميناء المحور
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]
نحن هنا سحب المرايا الرسمية
w3big@w3big:~/tomcat$ docker pull tomcat
انتظر اكتمال التحميل، يمكننا العثور على مستودع هر تنعكس في قائمة مرآة المحلية.
يعكس استخدام هر
حاوية تشغيل
w3big@w3big:~/tomcat$ docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat acb33fcb4beb8d7f1ebace6f50f5fc204b1dbe9d524881267aa715c61cf75320 w3big@w3big:~/tomcat$
الأمر الوصف:
-p 8080: 8080: 8080 سوف يتم تعيينها إلى ميناء المضيف ميناء الحاويات 8080
-v $ الأشخاص ذوي الإعاقة / اختبار: / البيرة / المحلية / هر / webapps / اختبار: المضيف اختبار في الدليل الحالي هي التي شنت على الحاوية / اختبار
تحقق الحاوية تبدأ الظروف
w3big@w3big:~/tomcat$ docker ps CONTAINER ID IMAGE COMMAND ... PORTS NAMES acb33fcb4beb tomcat "catalina.sh run" ... 0.0.0.0:8080->8080/tcp tomcat
الوصول إليها من خلال متصفح