春季启动docker插件需要每次删除图像

我创build了一个基本的spring启动应用程序,我正在使用docker-maven-plugin来构builddocker镜像。

每当我改变应用程序,我必须删除容器,并再次启动。 docker rm -f <container-name> docker run -p 8080:8080 -d <IMAGE> --name some-app

有什么方法可以重新启动容器,新的更改生效。

这是我的pom文件中的docker插件。

 <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.2.3</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> 

Dockerfile

 FROM java:8 VOLUME /tmp ADD demo-0.0.2-SNAPSHOT.jar basic-boot-app.jar RUN bash -c 'touch /basic-boot-app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/basic-boot-app.jar"] 

尝试给予的方式

java应用程序的结构

 Demo └── src | ├── main | │ ├── java | │ │ └── org | │ │ └── demo | │ │ └── App.java | │ └── resources | │ └── application.properties | └── test | └── java | └── org | └── demo | └── App.java ├──── Dockerfile ├──── pom.xml 

pom.xml的内容

 <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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.executablejar</groupId> <artifactId>demo</artifactId> <packaging>jar</packaging> <version>0.0.1-SNAPSHOT</version> <name>demo Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <java-version>1.8</java-version> <docker.image.prefix>springDemo</docker.image.prefix> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <finalName>demo</finalName> </build> </project> 

Dockerfile的内容

 FROM java:8 EXPOSE 8080 ADD /target/demo.jar demo.jar ENTRYPOINT ["java","-jar","demo.jar"] 

构build和运行图像的命令

  • 进入项目目录。让我们说D:/ Demo
 $ cd D/demo $ mvn clean install $ docker build demo . $ docker run -p 8080:8080 -t demo 

在这里你可以findvideo: Spring Boot with Docker