春季启动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
- 在Docker中,Spring Boot集成testing失败,但不在外面
- 如何从rabbitmq docker的spring-boot中创buildrabbitmq队列
- 在Docker容器中运行Spring Boot应用程序,无法连接MySQL
- 如何使用Dockerconfiguration使用redis的spring引导web应用程序
- 如何重新启动一个新的弹簧引导JAR容器没有绝对path到jar子?
- 使用Docker和AWS ECS运行Spring Boot微服务
- Docker尤里卡UnknownHostException
- Docker中的Spring Boot
- Docker容器无法连接到主机networking上的IP