使用Docker部署SpringBoot项目
2021-03-31 09:26
标签:名称 ide 压缩 git spring 这一 一个 work jdk8 也就是src/main/docker。注意是目录不是package 在src/main/docker下新建一个Dockerfile的文件 这个 Dockerfile 文件很简单,构建 Jdk 基础环境,添加 Spring Boot Jar 到镜像中: 在本地运行没问题,然后传到Ubuntu里解压 项目打压缩包放到Ubuntu里 正常的应该是用git或svn拉代码,这里为了方便直接copy到服务器里 查看镜像并运行 测试访问 使用Docker部署SpringBoot项目 标签:名称 ide 压缩 git spring 这一 一个 work jdk8 原文地址:https://www.cnblogs.com/winter-shadow/p/13562598.html环境 | 步骤
新建一个SpringBoot项目
pom.xml
启动类
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
Controller
@RestController
public class DockerController {
@GetMapping("/docker")
public String getString() {
return "dockerDemo is run";
}
}
在src/main下新建一个docker的目录
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD dockerdemoservice-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
/tmp
的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp
作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker
目录下创建一个临时文件并把它链接到容器中的/tmp
目录java.security.egd
的系统属性指向/dev/urandom
作为 ENTRYPOINT打docker镜像
cd /home/lanceli/code/dockerdemoservice # dockerdemoservice 是我的demo项目
ls # 可以看到src pom.xml 就是在这一级目录使用mvn打包
mvn package # 先打成jar包,然后会生成一个target目录
cd target
java -jar dockerdemoservice-1.0-SNAPSHOT.jar # 可以看到spring boot的Log,然后请求controller 如果成功说明没问题
cd /home/lanceli/code/dockerdemoservice # 回到项目的目录中
mvn package docker:build # 打成docker镜像,看到BUILD SUCCESS后说明成功
sudo docker images # openjdk之前是没有的,自动pull下来的
REPOSITORY TAG IMAGE ID CREATED SIZE
dockerdemoservice/dockerdemoservice latest ea60d12b0337 24 minutes ago 121MB
jenkins/jenkins lts 697d76eba014 8 days ago 677MB
nginx latest 4bb46517cac3 11 days ago 133MB
portainer/portainer latest 62771b0b9b09 4 weeks ago 79.1MB
openjdk 8-jdk-alpine a3562aa0b991 15 months ago 105MB
sudo docker run -d -p 8080:8080 dockerdemoservice/dockerdemoservice # 运行刚刚打好的镜像
下一篇:SpringBoot的日志使用
文章标题:使用Docker部署SpringBoot项目
文章链接:http://soscw.com/index.php/essay/70394.html