1、windows10环境安装docker
(1)、windows环境需要开启虚拟化,即就是,想办法让此处的虚拟化为已启用状态,具体去bios设置,自行百度即可:
(2)、开启Hyper-V
(3)、安装docker,自己去官网下载并安装,安装完了自己配置加速器和开启本地镜像设置:
2 利用DockeFile对springboot项目打包并生成镜像
(1)、本地创建一个springboot项目,部分代码如下:
DockerFile文件(目录为E:\code\springboot-demo\src\main\resources\docker)
FROM java:8
VOLUME /tmp
ADD springboot-demo-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
pom文件,下面的docker-maven-plugin插件记得别忘了
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>springboot-demo</groupId>
<artifactId>springboot-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<docker.image.prefix>test</docker.image.prefix>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/resources/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
</project>
application.properties文件
server.port=8089
启动类SpringbootDemoApplication.java
@SpringBootApplication
@RestController
public class SpringbootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemoApplication.class, args);
}
@GetMapping("hello")
public String hi() {
return "hello";
}
}
(2)、打包并且构建镜像mvn package docker:build(在项目的root目录下执行,前期是你在pom文件指定了dockerfile文件目录),构建完成后为:
注意:构建可能时候会报错,这时候需要在maven的settings文件中标签中添加com.spotify
(3)、镜像构建好了,就可以利用镜像启动一个容器了
(4)、测试访问: