#How does docker implement packaging?
Docker related terms:
(1). Mirror, container, warehouse
Docker’s characteristics:
(1) .Keywords: container, standard, isolation.
Docker deployment practice:
1. Create dockerfile
Pay attention to the assumptions I mentioned: your jar package or war package All have been packaged successfully and docker has been installed successfully.
The content of dockerfile is as follows:
FROM azul/zulu-openjdk:8 VOLUME /home/work/springDemo ADD springDemo-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
FROM: Which image it is based on
VOLUME: You can mount local folders or folders of other containers into the container
ADD: Copy the file
RUN: The RUN command will execute any legal command in the current image and submit the execution results. After the command execution is submitted, the next instruction in the Dockerfile will be automatically executed
ENTRYPOINT: The command executed when the container starts, but there can only be one ENTRYPOINT command in a Dockerfile. If there are multiple ones, only the last one will be executed.
Key points: The location of dockerfile and jar package or war package
Note: The newly created Dockerfile file needs to be in the same folder as the jar.
2. Generation of Jar package
You may be confused when you see the .jar package in the picture above. How is this package generated? Let's take a look at how this package is generated.
Since I built the project through maven, I also built it through maven. Of course, the premise is still that maven is installed in your environment. Let’s take a look at the screenshots for the specific operation.
After the above operations, the jar package is built.
3. Generate image
Shell command description: The key point is that you need to cd to the folder where the Dockerfile and jar package or war package are stored.
Command:sudo docker build -t springbootdemo .
Note: The . after the command must be brought.
I can’t remember the meaning of the -t parameter. You can view the explanation of related functions through sudo docker build --help. springbootdemo is the image name of the build.
The above operations complete the creation of the Docker image. Check whether the image is created successfully, command: sudo docker images , you can see that springbootdemo is the image just created.
4. Start the container
Containers are actually equivalent to mirror carriers.
Screenshot of container startup command:
Startup command:sudo docker run -d -p 8080:8080 springbootdemo
Parameters of -d -p I have also forgotten the meaning, you can check it out. 8080: 8080 is a port mapping. Its specific logic and principles. I suggest you learn Docker and take a closer look. springbootdemo is the image file I mentioned above.
View the currently running containers:sudo docker ps
5. Verification
For verification, please check us Whether the Demo is deployed successfully, if your jar package or war package is the same as mine and is a web program, you can test it through the browser.
Related recommendations:docker tutorial
The above is the detailed content of How docker implements packaging. For more information, please follow other related articles on the PHP Chinese website!