Docker和Java 9模块
有特定Java 9模块的Docker镜像吗?
我猜应该会出现FROM java:9
基本映像,但是如果我的基础是来自最小的Java 9核心模块,那么可选模块将如何来。
这里是一个例子:
FROM java:9 COPY /target/myswarmproject-swarm.jar /home/myswarm-swarm.jar EXPOSE 8080 CMD java -jar /home/myswarmproject-swarm.jar
以前的dockerfile例子是作为.jar部署到容器中的wildfly swarm项目。
这里是我的实现,也发现在adenix / java:9u181 :
FROM ubuntu:16.04 RUN \ apt update && \ apt install -y curl && \ curl -jkL -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/9+181/jdk-9_linux-x64_bin.tar.gz -o jdk-9_linux-x64_bin.tar.gz && \ apt remove -y curl && \ apt clean && \ apt -y autoremove && \ rm -rf /var/lib/apt/lists/* && \ tar xvzf jdk-9_linux-x64_bin.tar.gz -C /opt/ && \ rm -rf jdk-9_linux-x64_bin.tar.gz && \ update-alternatives --install /usr/bin/java java /opt/jdk-9/bin/java 100 && \ update-alternatives --install /usr/bin/javac javac /opt/jdk-9/bin/javac 100 && \ update-alternatives --install /usr/bin/jshell jshell /opt/jdk-9/bin/jshell 100 CMD ["jshell"]
你可以通过复制这个Docker文件或者在FROM adenix/java:9u181
中使用FROM adenix/java:9u181
来实现。