参考教程:https://www.cnblogs.com/blog-rui/p/11244023.html
使用下列命令:
systemctl start docker.service
systemctl enable docker.service
输入docker version
,返回版本信息表明Docker安装成功。
在某个文件夹打开终端,执行以下命令行
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
tar vxf apache-maven-3.5.4-bin.tar.gz
//下面的“/usr/local/maven3”为想要移动的目录,这里的移动是将“apache-maven-3.5.4”文件夹里的东西放到“/usr/local/maven3”目录下
mv apache-maven-3.5.4 /usr/local/maven3
打开环境变量vim /etc/profile
,在最下面添加如下内容:
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
保存并退出::wq
刷新环境变量的配置使其生效:source /etc/profile
使用命令mvn -v
进行查看
[root@localhost ~]# mvn -v Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00) Maven home: /usr/local/maven3 Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_211/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"
切换到maven安装目录的配置文件(/usr/lcoal/maven3/conf)下面,打开settings.xml文件,在
标签里面添加:
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/repositories/central
启动类如下:
@RestController
@SpringBootApplication
public class HellotestApplication {
public static void main(String[] args) {
SpringApplication.run(HellotestApplication.class, args);
}
@RequestMapping("/")
public String hello(){
return "Hello,Springboot with Docker!";
}
}
在 pom.xml中添加Docker镜像名称及添加 Docker插件。
标签里添加。
springboot
-->
标签里添加
com.spotify
docker-maven-plugin
1.0.0
${docker.image.prefix}/${project.artifactId}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar
在Springboot工程目录src/main下创建Directory命名为dockerDockerfile 文件,Dockerfile 文件用来说明如何来构建镜像。
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD docker-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
FROM指令指定一个已经存在的镜像,告诉Docker后续的指令都是在这个基础上进行的。例如:FROM java:8
表示使用 Jdk1.8 环境为基础镜像进行构建镜像。
VOLUME ,VOLUME 指向了一个/tmp的目录,由于Spring Boot使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
ADD ,拷贝文件并且重命名
ENTRYPOINT,为了缩短Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为ENTRYPOINT。
将主机的项目代码拷贝服务器或虚拟机中,在虚拟机中进入项目路径。如编者是“/usr/local/projects/hellotest”.
mvn package
若报错中包含以下这一句
Unknown host maven.aliyun.com: 域名解析暂时失败 -> [Help 1]
则可以尝试如下修改
在终端输入指令vim /etc/resolv.conf
然后加入nameserver 114.114.114.114
java -jar target/hellotest-0.0.1-SNAPSHOT.jar
如出现以下界面,代表项目启动成功,说明环境配置没有问题,接下来可以使用Dockerfile构建镜像。
mvn package docker:build
可以看到docker镜像构建成功,仔细看日志,会发现四个步骤和Dockerfile中的指令是一一对应的。
docker images
命令查看构建好的镜像:docker run -d -p 8080:8080 -t springboot/hellotest
部分内容参考博客:https://www.cnblogs.com/sgh1023/p/11079003.html