概述
Dockerfile指令已经在介绍完了,那么我们现在来简单制作一个java镜像并运行起来。
实操
- 先将java项目打包成jar或war文件
- 创建Dockerfile文件
[root@localhost docK8s]# cat Dockerfile
FROM java:8
MAINTAINER loe<loe@c.com>
VOLUME /tmp
ADD test-1.0.jar docker_test.jar
RUN bash -c 'touch /docker_test.jar'
CMD ["nohup","java","-jar","docker_test.jar","--spring.profiles.active=prod","&"
- 运行Dockerfile,打包成镜像文件
[root@localhost docK8s]# docker build -t doc_test:v1.0 ./
Sending build context to Docker daemon 39.5MB
Step 1/6 : FROM java:8
---> d23bdf5b1b1b
Step 2/6 : MAINTAINER loe<loe@c.com>
---> Using cache
---> 999421acb992
Step 3/6 : VOLUME /tmp
---> Using cache
---> 9325139b9939
Step 4/6 : ADD test-1.0.jar docker_test.jar
---> Using cache
---> 424048247195
Step 5/6 : RUN bash -c 'touch /docker_test.jar'
---> Using cache
---> 8115fa73b4e0
Step 6/6 : CMD ["nohup","java","-jar","docker_test.jar","--spring.profiles.active=prod","&"]
---> Using cache
---> 9bc765bb0e8f
Successfully built 9bc765bb0e8f
Successfully tagged doc_test:v1.0
[root@localhost docK8s]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
doc_test v1.0 9bc765bb0e8f 2 months ago 722MB
tomcat 9.0 891fcd9c5b3a 3 months ago 647MB
tomcat latest 891fcd9c5b3a 3 months ago 647MB
nginx latest f35646e83998 3 months ago 133MB
mysql latest 8e85dd5c3255 3 months ago 544MB
centos latest 0d120b6ccaa8 5 months ago 215MB
portainer/portainer latest 62771b0b9b09 5 months ago 79.1MB
hello-world latest bf756fb1ae65 12 months ago 13.3kB
java 8 d23bdf5b1b1b 4 years ago 643MB
- 启动
[root@localhost docK8s]# docker run doc_test:v1.0
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.3.RELEASE)
结语
就此,java程序打包并成功运行。
但真正要放在生产环境,还有很多要做的,比如日志挂载等等。