前言
像我们平时发布项目,就可以一个项目使用一个镜像,这个时候就需要构建我们独立的镜像了
制作镜像
将我们自己的项目包放到服务器上
/usr/local/docker
该项目就是一个很简单的测试项目
接口:
/**
* @Author tinko
* @Description //TODO
* @Date 2019/5/7 9:14
**/
@RestController
@RequestMapping("/docker")
public class TestController {
@RequestMapping("/info")
public String docker(String name){
return "欢迎使用docker:" + name ;
}
}
配置文件:
server.port=8080
pom文件:
<?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 http://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.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<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>
</plugins>
</build>
</project>
拉取基础镜像(有JDK镜像)
docker pull hub.c.163.com/library/java:latest
编辑 Dockerfile
运行 vim Dockerfile
将Dockerfile复制到项目同级目录下
cp Dockerfile /usr/local/docker
创建 Docker Build
docker build -t tinko:latest .
注意:这是一定要进入到docker目录下,否则会报找不到目录或文件的错误
原理:是根据docker目录下的Dockerfile文件来找到DockerTest.jar来生成镜像
返回的是生成镜像的ID 1adb29343006
启动镜像:
后台启动:
docker run -it -p 8080:8080 tinko:latest
可以看到,我们就进入了镜像里面
然后,在镜像里面进入/usr/local目录
然后,我们在启动我们的项目
java -jar DockerTest.jar
此时,可以看到我们熟悉的SpringBoot启动图形
这个时候,我们在通过网络访问这个docker容器启动的项目