Dockerfile 实际应用
直接开始看项目
FROM adoptopenjdk/openjdk8-openj9:alpine-slim
MAINTAINER 佩奇@qq.com
RUN mkdir -p /blade/exam
WORKDIR /home/testdockerfile
EXPOSE 8015
ADD ./target/testdockerfile.jar ./app.jar
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
这里的cmd就是补充作用
CMD ["--spring.profiles.active=test"]
从第一句开始
FROM(来至哪个镜像):代表项目是使用的哪个镜像
MAINTAINER(谁维护的):项目组谁维护
RUN:执行命令(每一条run都会生成一个镜像,所以一条就行)
WORKID:就是linux的CD
EXPOSE:这个就是设置端口(本质是端口映射)
ADD :复制jar包到镜像内,名字为app.jar
(这里 add 其实是重命名)
(copy )
ENTRYPOINT
(指定容器启动程序及参数)
(开机启动,-Djava.security.egd=file:/dev/./urandom类似一种算法替换)
每个 Dockerfile 中只能有一个 ENTRYPOINT,当指定多个时,只有最后一个起效。
CMD在容器运行的时候提供一些命令及参数
对于cmd里面的–spring.profiles.active=test不能理解就查看下面的
java -jar -server -Xmx1024m -Xms1024m -Xmn256m -XX:PermSize=128m -Xss256k /opt/source/project/danny-test.jar --spring.profiles.active=test > /opt/source/project/info.out &