1. 在jar包同级目录新建个Dockerfile文件内容如下:
FROM java:8
VOLUME /tmp
ADD DockerDemo-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
  • FROM java:8,表示基镜像是java8VOLUME /tmp,表示 指定临时文件目录为/tmp。其效果是- 在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。该步骤是可选的ADD

  • DockerDemo-0.0.1-SNAPSHOT.jar app.jar,表示将jar包添加到镜像中,并重命名

  • app.jarEXPOSE 8080,表示暴露的端口是8080ENTRYPOINT ["java","-jar","/app.jar"],表示启动时运行 java -jar app.jar

2.编写启动脚本startup.sh

APPNAME=dockerdemo
PORT=8080
docker build -t $APPNAME .
docker run -d -h 127.0.0.1 --name $APPNAME -p $PORT:$PORT $APPNAME

镜像名称必须小写(如dockerdemo),大写启动会报错docker build -t docker学习三(做image)_dockerAPPNAME 是镜像名称;“.”表示Dockerfile在当前路径下。docker run -d -h 127.0.0.1 --name docker学习三(做image)_jar_02PORT:docker学习三(做image)_docker_03APPNAME 运行镜像,端口映射为8080

3.编写停止脚本shutdown.sh

APPNAME=dockerdemo
docker ps -a | grep "$APPNAME" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "$APPNAME" | awk '{print $1 }'|xargs docker rm
docker images|grep "$APPNAME"|awk '{print $3 }'|xargs docker rmi