利用Docker创建镜像运行jar包
2019-04-28 本文已影响78人
黑客不黑_
1、上传jar包
2、在jar包同级目录创建dockerfile文件
[root@bogon www]# tree
.
├── bh-user-service.jar
└── Dockerfile
0 directories, 2 files
[root@bogon www]# cat Dockerfile
FROM java:8
MAINTAINER RoES roes@163.com
copy bh-user-service.jar /bh-user-service.jar
CMD java -jar /bh-user-service.jar
EXPOSE 8081
# 基础镜像是docker仓库的java:8(JDK8)
FROM java:8
# 作者签名
MAINTAINER RoES roes@163.com
# 挂载宿主机jar包到镜像
copy bh-user-service.jar /bh-user-service.jar
# 执行 java -jar 命令,启动容器跟随启动
CMD java -jar /lost_and_found-v1.jar
# 设置对外端口为 8081
EXPOSE 8081
3、通过Dockerfile创建镜像
docker build -t bh-user-service .
.
表示使用当前上下文中的 Dockerfile 文件,创建镜像名为bh-user-service的镜像
[root@bogon www]# docker build -t bh-user-service .
Sending build context to Docker daemon 73.2 MB
Step 1/5 : FROM java:8
---> d23bdf5b1b1b
Step 2/5 : MAINTAINER RoES roes@163.com
---> Using cache
---> 3bfcb4462158
Step 3/5 : COPY bh-user-service.jar /bh-user-service.jar
---> Using cache
---> 9075987531ff
Step 4/5 : CMD java -jar /bh-user-service.jar
---> Using cache
---> 283dc89f4f8b
Step 5/5 : EXPOSE 8082
---> Using cache
---> 87d09e0ade91
Successfully built 87d09e0ade91
最后输出Successfully built 87d09e0ade91则创建成功,镜像ID:87d09e0ade91
[root@bogon www]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
bh-user-service latest 87d09e0ade91 15 minutes ago 716 MB
bh-user-services latest 87d09e0ade91 15 minutes ago 716 MB
4、运行jar包
只要运行容器则jar会自动运行
[root@bogon www]# docker run -d -p 8081:8081 --name bh-user-services bh-user-services
c45f162b7658e5610942359e4613a51aaf8b3ebeb269b0478e2c3cb834139b74
[root@bogon www]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c45f162b7658 bh-user-services "/bin/sh -c 'java ..." 4 seconds ago Up 3 seconds 0.0.0.0:8081->8081/tcp, 8082/tcp bh-user-services
b7f3768034e8 bh-user-service "/bin/sh -c 'java ..." 15 minutes ago Up 15 minutes 0.0.0.0:8082->8082/tcp bh-user-service
5、查看java进程
jar进程正在运行
[root@bogon www]# ps -ef|grep java
root 2693 2677 0 15:14 ? 00:00:00 /bin/sh -c java -jar /bh-user-service.jar
root 2715 2693 2 15:14 ? 00:00:27 java -jar /bh-user-service.jar
root 2972 1704 0 15:31 pts/0 00:00:00 grep --color=auto java