1.服务器安装jdk, maven(包括/etc/profile环境变量的配置)
1.1 从jdk官网下载tar.gz,复制到服务器上,解压到专门的文件夹,便于管理
1.2 maven自行百度
1.3 环境变量一定要配好
- 分享我的,注意这样写是因为我的jdk解压到
/usr/java/jdk1.8 路径,maven安装在/usr/local/maven3 ,不一定适用于你的环境
export JAVA_HOME=/usr/java/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
2.服务器安装docker(可以使用宝塔傻瓜式安装)
3.初始化一个springboot项目,要做的有:
3.1 准备好Getmapping("/hello")等到服务器上运行起来后好测试;
3.2 pom中引入docker-maven插件,以下代码在< build ></ build >中
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker插件 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>imagetest/dockerimage</imageName>
<dockerDirectory>./</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
- 其中imageName是后面生成的镜像的名称,不能包括大写,有的教程写的是$ {docker.image.prefix}/${project.artifactId},我直接把它写死了;
- 其中dockerDirectory 是Dockerfile的路径,建议直接放在项目下,也就是和src、target同级,写法如上代码。
3.3 写Dockfile
FROM java:8
EXPOSE 8080
VOLUME /tmp
ADD DockerDemoS-0.0.1-SNAPSHOT.jar /app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
- 其中第四行DockerDemoS-0.0.1-SNAPSHOT.jar是mvn package到target里的jar包的名字
4.把整个项目复制到服务器上
- 在项目目录下
mvn package 一下,把jar包打出来 - 执行
mvn package docker:build ,等待BUILD SUCCESS - 这时候算是把镜像构建好了,镜像的名字是在pom里配置的,还记得吗,我是给写死了,是
imagetest/dockerimage ,通过docker images 命令可以查到,然后就可以把这个镜像运行起来了
5.运行项目
docker run -p 8080:8080 -t imagetest/dockerimage ,-t后面代表的是镜像的名称,然后-p把服务器的8080映射到容器的8080端口,访问服务器ip:8080/hello 就可获得getmapping返回的内容。
还在学习中,这只是敲下docker的门…
|