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
One port changes In version 3.2.0, the namenode p...
This article shares the specific code for JavaScr...
HTML meta tag HTML meta tags can be used to provi...
Before CSS3, gradient images could only be used a...
1. How to use the link: Copy code The code is as f...
Table of contents 1. Introduction 2. Prepare the ...
Generate a certificate chain Use the script to ge...
Effect picture (if you want a triangle, please cl...
Table of contents 1. Application and configuratio...
Some web pages may not look large but may be very...
Today I sent a small tool for Ubuntu to a custome...
Table of contents What is ref How to use ref Plac...
Simple example of HTML checkbox and radio style b...
Table of contents 1. Prerequisites 1.1 Supported ...
List style properties There are 2 types of lists ...