DockerFile:
FROM jboss/wildfly
RUN javac ../src/Hello.java
RUN java -cp ../src Hello
hello.java
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello, World");
}
}
当我构建Dockerfile时,我出现以下错误:
run
命令只在容器的文件系统上操作,而不在主机的文件系统上操作。您必须将文件从本地文件系统复制到容器的文件系统:
FROM jboss/wildfly
COPY src /src
RUN javac /src/Hello.java
许多开发人员发现他们希望将自己的构建容器与运行容器分开。运行软件的容器通常比构建容器对其环境的要求少得多(例如,没有安装JDK,只有JRE)。
为此,您的构建容器将是:
FROM openjdk:8
COPY src /src
RUN javac /src/Hello.java
RUN docker build -t foo . && docker push foo
FROM jboss/wildfly
RUN java /src/Hello