{"id":2733,"date":"2023-09-05T18:45:41","date_gmt":"2023-09-05T10:45:41","guid":{"rendered":"https:\/\/199604.com\/?p=2733"},"modified":"2023-09-05T18:49:35","modified_gmt":"2023-09-05T10:49:35","slug":"%e5%9f%ba%e4%ba%8elinux-alpine-%e8%87%aa%e5%bb%ba-oracle-jdk8-%e5%9f%ba%e7%a1%80%e9%95%9c%e5%83%8f","status":"publish","type":"post","link":"https:\/\/199604.com\/2733","title":{"rendered":"\u57fa\u4e8eLinux Alpine \u81ea\u5efa oracle jdk8 \u57fa\u7840\u955c\u50cf"},"content":{"rendered":"<h1>\u57fa\u4e8eLinux Alpine \u81ea\u5efa oracle jdk8 \u57fa\u7840\u955c\u50cf<\/h1>\n<h2>\u524d\u56e0<\/h2>\n<p>\u56e0\u4e3a\u6700\u8fd1\u8981\u4e0a\u7ebf\u9879\u76ee\u4e86\uff0c\u90fd\u662f\u5bb9\u5668\u53bb\u8dd1\uff0c\u4f46\u662f\u5462\u901a\u8fc7\u5bb9\u5668\u955c\u50cf\u6f0f\u626b\u53d1\u73b0\u5f88\u591a\u5e95\u5305\u90fd\u6709\u4e00\u4e9b\u7cfb\u7edf\u6f0f\u6d1e\uff0c\u8fd9\u4e9b\u5462\u4e0a\u7ea7\u8981\u6c42\u5fc5\u987b\u65e0\u6f0f\u6d1e\u624d\u80fd\u4e0a\u7ebf\uff0c\u56e0\u6b64\u5c31\u88ab\u8feb\u81ea\u5efa\u4e2a\u57fa\u7840\u955c\u50cf\u62c9\uff0c\u5177\u4f53\u662f\u5426\u80fd\u4e0a\u751f\u4ea7\u9700\u8981\u6d4b\u8bd5\u4e00\u6ce2\u54af\u3002<\/p>\n<h2>\u4e0b\u8f7d\u6240\u9700\u6587\u4ef6<\/h2>\n<p>\u53ef\u53c2\u8003\u4e00\u4e0b\u4ecb\u7ecd\u8fdb\u884c\u4e0b\u8f7d<code>glibc<\/code>:<code>https:\/\/github.com\/sgerrand\/alpine-pkg-glibc<\/code><\/p>\n<pre><code class=\"language-shell \"># \u5bc6\u94a5\u4e0b\u8f7d\nhttps:\/\/alpine-pkgs.sgerrand.com\/sgerrand.rsa.pub\n\n# \u4f9d\u8d56\u5e93\u4e0b\u8f7d\nhttps:\/\/github.com\/sgerrand\/alpine-pkg-glibc\/releases\/download\/2.34-r0\/glibc-2.34-r0.apk\nhttps:\/\/github.com\/sgerrand\/alpine-pkg-glibc\/releases\/download\/2.34-r0\/glibc-bin-2.34-r0.apk\nhttps:\/\/github.com\/sgerrand\/alpine-pkg-glibc\/releases\/download\/2.34-r0\/glibc-i18n-2.34-r0.apk\n<\/code><\/pre>\n<blockquote><p>\n  \u6700\u65b0\u7684<code>2.35-r1<\/code>\u7248\u672c\u65e0\u6cd5\u6b63\u5e38\u8dd1jdk, \u76ee\u524d\u9a8c\u8bc1<code>2.34-r0<\/code>\u6ca1\u6709\u95ee\u9898\uff1b\n<\/p><\/blockquote>\n<h4>\u4e2d\u6587<code>locale.md<\/code>\u6587\u4ef6<\/h4>\n<pre><code class=\"language-markdown \">en_US\nzh_CN\nzh_HK\nzh_SG\nzu_ZA\n<\/code><\/pre>\n<h3>Dockerfile\u6587\u4ef6<\/h3>\n<pre><code class=\"language-dockerfile \">FROM alpine:3.17\nCMD [\"\/bin\/sh\"]\nMAINTAINER GLJ\nENV TIME_ZONE=\"Asia\/Shanghai\"\nENV ALPINE_GLIBC_PACKAGE_VERSION=\"2.34-r0\"\n\n# Install glibc\nCOPY locale.md glibc-$ALPINE_GLIBC_PACKAGE_VERSION.apk glibc-bin-$ALPINE_GLIBC_PACKAGE_VERSION.apk glibc-i18n-$ALPINE_GLIBC_PACKAGE_VERSION.apk .\/\nCOPY sgerrand.rsa.pub \/etc\/apk\/keys\/sgerrand.rsa.pub\nRUN sed -i 's\/dl-cdn.alpinelinux.org\/mirrors.tuna.tsinghua.edu.cn\/g' \/etc\/apk\/repositories \\\n    &amp;&amp; apk add --no-cache ca-certificates libstdc++ fontconfig tzdata \\\n    &amp;&amp; apk add --update ttf-dejavu \\\n    &amp;&amp; fc-cache --force \\\n    &amp;&amp; cp \/usr\/share\/zoneinfo\/$TIME_ZONE \/etc\/localtime \\\n    &amp;&amp; echo $TIME_ZONE &gt; \/etc\/timezone \\\n    &amp;&amp; apk del tzdata \\\n    &amp;&amp; mv \/etc\/nsswitch.conf \/etc\/nsswitch.conf.bak \\\n    &amp;&amp; apk add --no-cache --force-overwrite glibc-$ALPINE_GLIBC_PACKAGE_VERSION.apk glibc-bin-$ALPINE_GLIBC_PACKAGE_VERSION.apk glibc-i18n-$ALPINE_GLIBC_PACKAGE_VERSION.apk \\\n    &amp;&amp; mv \/etc\/nsswitch.conf.bak \/etc\/nsswitch.conf \\\n    &amp;&amp; cat locale.md | tr -d '\\r' | xargs -i \/usr\/glibc-compat\/bin\/localedef -i {} -f UTF-8 {}.UTF-8 \\\n    &amp;&amp; rm -f glibc-$ALPINE_GLIBC_PACKAGE_VERSION.apk glibc-bin-$ALPINE_GLIBC_PACKAGE_VERSION.apk glibc-i18n-$ALPINE_GLIBC_PACKAGE_VERSION.apk locale.md \\\n    &amp;&amp; rm -rf \/var\/cache\/apk\/* \\\n    &amp;&amp; addgroup -g 2888 gzapps \\\n    &amp;&amp; adduser -u 2888 -G gzapps -h \/home\/gzapps -D gzapps\n\n# Support Chinese\nENV LANG=zh_CN.UTF-8\nENV LANGUAGE=zh_CN.UTF-8\n\n# Install JDK1.8\nADD jdk-8u341-linux-x64.tar.gz \/usr\/local\/jdk\nENV JAVA_HOME=\/usr\/local\/jdk\/jdk1.8.0_341\nENV JRE_HOME=$JAVA_HOME\/jre\nENV CLASSPATH=.:$JAVA_HOME\/lib:$JRE_HOME\/lib\nENV PATH=$JAVA_HOME\/bin:$PATH\n<\/code><\/pre>\n<h3>\u6784\u5efa\u955c\u50cf<\/h3>\n<p><code>docker build -t base-jdk8:20230905 .<\/code><\/p>\n<h2>\u57fa\u4e8e\u4e09\u65b9\u5305<\/h2>\n<p>\u56e0\u4e3a\u6211\u61d2\uff0c\u7136\u540e\u53ef\u4ee5\u7528\u73b0\u6210\u7684glibc\u955c\u50cf\u4f5c\u4e3a\u5e95\u5305(\u57fa\u4e8ealpine-glibc:alpine-3.17_glibc-2.34\u6784\u5efa)\u8fd9\u79cd\u65b9\u5f0f\u5feb\u901f\u90e8\u7f72<\/p>\n<h3>Dockerfile\u6587\u4ef6<\/h3>\n<pre><code class=\"language-dockerfile \"># \u57fa\u4e8ealpine-glibc:alpine-3.17_glibc-2.34\u6784\u5efa\nFROM frolvlad\/alpine-glibc:alpine-3.17_glibc-2.34\nMAINTAINER GLJ\n\n# Install JDK1.8\nADD jdk-8u341-linux-x64.tar.gz \/usr\/local\/jdk\nENV JAVA_HOME=\/usr\/local\/jdk\/jdk1.8.0_341\nENV JRE_HOME ${JAVA_HOME}\/jre\nENV CLASSPATH .:${JAVA_HOME}\/lib:${JRE_HOME}\/lib\nENV PATH=$JAVA_HOME\/bin:$PATH\nENV TIME_ZONE=\"Asia\/Shanghai\" \n\n# \u5b89\u88c5 JRE\nRUN sed -i 's\/dl-cdn.alpinelinux.org\/mirrors.tuna.tsinghua.edu.cn\/g' \/etc\/apk\/repositories \\\n    &amp;&amp; apk add --no-cache libstdc++ fontconfig tzdata \\\n    &amp;&amp; apk add --update ttf-dejavu \\\n    &amp;&amp; fc-cache --force \\\n    &amp;&amp; cp \/usr\/share\/zoneinfo\/$TIME_ZONE \/etc\/localtime \\\n    &amp;&amp; echo $TIME_ZONE &gt; \/etc\/timezone \\\n    &amp;&amp; apk del tzdata \\\n    &amp;&amp; rm -rf \/var\/cache\/apk\/* \\\n    &amp;&amp; addgroup -g 2888 gzapps \\\n    &amp;&amp; adduser -u 2888 -G gzapps -h \/home\/gzapps -D gzapps\n<\/code><\/pre>\n<h3>\u6784\u5efa\u955c\u50cf<\/h3>\n<p><code>docker build -t base-jdk8:20230905 .<\/code><\/p>\n<h3>\u955c\u50cf\u6f0f\u626b\u9a8c\u8bc1<\/h3>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/qn.199604.com\/typoraImg\/image-20230905184740708.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/qn.199604.com\/typoraImg\/image-20230905184740708.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230905184740708\" \/><\/div><\/p>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/qn.199604.com\/typoraImg\/image-20230905184836925.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/qn.199604.com\/typoraImg\/image-20230905184836925.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"image-20230905184836925\" \/><\/div><\/p>\n<h2>Java\u9879\u76ee\u6784\u5efaDockerfile<\/h2>\n<pre><code class=\"language-dockerfile \">FROM base-jdk8:20230905\nUSER gzapps\nCOPY --chown=gzapps:gzapps app.jar \/home\/gzapps\/app.jar\n\n# env for application\nENV PORT=\"\"\nENV JAVA_OPTS=\"\"\nENV AGENT_ARGS=\"\"\n\nEXPOSE $PORT\nWORKDIR \/home\/gzapps\n\nENTRYPOINT [\"\/bin\/bash\",\"-c\",\"java ${AGENT_ARGS} ${JAVA_OPTS} -jar app.jar\"]\n#ENTRYPOINT exec java -Djava.security.egd=file:\/dev\/.\/urandom -jar -Xms512m -Xmx512m -Xmn200M app.jar &gt; app.jar.log\n<\/code><\/pre>\n<h3>\u53c2\u8003<\/h3>\n<p>1.<code>https:\/\/github.com\/sgerrand\/alpine-pkg-glibc<\/code><\/p>\n<p>2.<code>https:\/\/hub.docker.com\/r\/frolvlad\/alpine-glibc\/tags<\/code><\/p>\n<p>3.<code>https:\/\/blog.csdn.net\/duxing_langzi\/article\/details\/125911398<\/code><\/p>\n<p>4.<code>https:\/\/blog.csdn.net\/wangshui898\/article\/details\/131767794<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u57fa\u4e8eLinux Alpine \u81ea\u5efa oracle jdk8 \u57fa\u7840\u955c\u50cf \u524d\u56e0 \u56e0\u4e3a\u6700\u8fd1\u8981\u4e0a\u7ebf\u9879\u76ee\u4e86\uff0c\u90fd\u662f\u5bb9\u5668\u53bb\u8dd1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[332,292],"tags":[485,393,322],"class_list":["post-2733","post","type-post","status-publish","format-standard","hentry","category-docker","category-java","tag-alpine","tag-docekr","tag-jdk"],"_links":{"self":[{"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/posts\/2733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/comments?post=2733"}],"version-history":[{"count":3,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/posts\/2733\/revisions"}],"predecessor-version":[{"id":2736,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/posts\/2733\/revisions\/2736"}],"wp:attachment":[{"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/media?parent=2733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/categories?post=2733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/199604.com\/wp-json\/wp\/v2\/tags?post=2733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}