Here we mainly use spring-boot out of the box, which can generate a standalone program, and the maven plug-in docker-maven-plugin The main steps here
A simple Spring Boot project Take spring boot 2.0 as an example Add parament dependency in pom.xml file <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> Add web and test dependencies <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> Create a Controller with an index() method that returns: Hello Docker! @RestController public class Controller { @RequestMapping("/") public String index() { return "Hello Docker!"; } } Startup Class @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } After adding, start the project. After successful startup, open the browser: http://localhost:8080/, and the page returns: Hello Docker!, indicating that the Spring Boot project is configured normally. Add dcoker-maven-plugin Add the Docker image prefix to the properties node in pom.xml <properties> <docker.image.prefix>springboot</docker.image.prefix> </properties> Add the docker build plugin in plugins <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.0.0</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.finalNmae}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build> Writing a Dockerfile Create a Dockerfile file in the directory src/main/docker. The Dockerfile file is used to explain how to build the image. FROM openjdk:8-jdk-alpine VOLUME /tmp ADD spring-boot-docker-1.0.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] EXPOSE 8080 This Dockerfile is very simple. It builds the JDK basic environment and adds the Spring Boot Jar to the image. Here is a brief description:
Generate docekr image A Docker environment is required to package the Spring Boot project. Three dependencies are required
If there is no error when running Enter the project directory mvn package -Dmavne.test.skip=true java -jar target/spring-boot-docker-1.0.jar If it can run normally, it means there is no problem with the jar package. Then build the image mvn docker:build If build success is displayed, it is successful. Use docker images to view the built image Run the image docker run -p 8080:8080 -t springboot/spring-boot-docker Then curl http://127.0.0.1:8080 and you can see Hello Docker! is returned, indicating success The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: How to build a drag and drop plugin using vue custom directives
>>: Briefly describe the difference between Redis and MySQL
Cell -- the content of the table Cell margin (tabl...
Preface DISTINCT is actually very similar to the ...
Code implementation: Copy code The code is as fol...
Today I learned a new CSS special effect, the wav...
These two attributes are often used, but their di...
Project Scenario Add a custom watermark to the en...
Use CSS filter to write mouse over effect <div...
The methods and concepts of private filters and g...
Official Website https://cli.vuejs.org/en/guide/ ...
1. Add Maria source vi /etc/yum.repos.d/MariaDB.r...
There was an article about the execution process ...
Table of contents 1 Promise Interrupt the call ch...
Table of contents Preface Optional Chaining Nulli...
In the database, both UNION and UNION ALL keyword...
Table of contents 【Common commands】 [Summary of c...