一、构建并运行springboot项目
1、将jar包上传linux服务器 /usr/local/laoxu_zh/docker_project/java_project/ 目录,在jar包所在目录创建名为Dockerfile的文件
2、在Dockerfile中添加以下内容
###指定java8环境镜像
FROM java:8
###复制文件到容器
ADD gosh-service-1.0-gosh.jar /gosh-1.0.jar
###声明启动端口号
EXPOSE 80
###配置容器启动后执行的命令
ENTRYPOINT [ "bash", "-c", "java -jar /gosh-1.0.jar --server.port=8080" ]
3、使用docker build命令构建镜像
docker build -t gosh:v1.0 .
#格式: docker build -t 镜像名称:标签 Dockerfile的相对位置
4、使用docker run命令运行镜像
docker run -d -p 5000:8080 --name gosh gosh:v1.0
-d: 后台运行容器,并返回容器ID
-p: 端口映射,格式为:主机端口:容器端口
--name: 为容器指定一个名称;例如 --name gosh gosh:v1.0 的含义是,运行gosh:v1.0镜像,取别名gosh
--restart=on-failure:3 只有在非0状态退出时才重新启动容器 ,重新启动3次,
如果创建时未指定 --restart 可通过 docker update --restart=on-failure:3 命令设置
5、访问地址 http://192.168.1.221:5000/gosh/test/hello
二、构建并运行springboot项目,配置java运行参数
1、将jar包上传linux服务器 /usr/local/laoxu_zh/docker_project/java_project/ 目录,在jar包所在目录创建名为Dockerfile的文件
2、在Dockerfile中添加以下内容,设置java运行参数变量
###指定java8环境镜像
FROM java:8
###复制文件到容器
ADD gosh-service-1.0-gosh.jar /gosh-1.0.jar
###声明启动端口号
EXPOSE 80
###配置容器启动后执行的命令
ENTRYPOINT [ "bash", "-c", "java $JAVA_OPTS -jar /gosh-1.0.jar --server.port=9080" ]
3、使用docker build命令构建镜像
docker build -t gosh:v2.0 .
4、使用docker run命令运行镜像,设置java运行参数
docker run -d -e JAVA_OPTS="-Dfile.encoding=utf-8 -Xms1024m -Xmx1024m -XX:+PrintGCDetails -Xloggc:/var/log/gc.log -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/heap.bin -Duser.timezone=Asia/Shanghai" -p 8080:9080 --name gosh gosh:v2.0
-e: 设置环境变量;例如:JAVA_OPTS设置java运行参数
5、访问地址 http://192.168.1.221:8080/gosh/test/hello
特别注意:
项目的端口 --server.port=9080 与 运行映射端口docker run -d -p 8080:9080要保持一致,否则项目访问不到;
与docker的启动端口 EXPOSE 80 可以不一样。