- Use linux adopt java -jar Deploy the single architecture ,war Bag lost tomcat.
- Use Docker Deploy the microservice architecture .
The related documents :
brief introduction
Cloud native :Java,C Applications developed by others are called native applications , Deploy to the cloud . The whole process of Cloud Application , And a series of solutions on the cloud .
There are three different ways to deploy cloud computing resources : Public cloud 、 Private cloud and hybrid cloud . The deployment method adopted depends on the business requirements .
Expand :VPC
Containerization foundation
Problem solved
Application build
- Java、C++、JavaScript
- Package
- Java、C++、JavaScript
- .exe
- docker build .... Mirror image
- .exe
App sharing
- All software images are placed in a designated place docker hub
- Android , Application market
- All software images are placed in a designated place docker hub
Application and operation
- Unified standard Mirror image
- docker run
- Unified standard Mirror image
.......
Resource isolation
cpu、memory Resource isolation and limitation
Access device isolation and restriction
Network isolation and restriction
user 、 User group isolation restrictions
......
framework
Docker_Host:
- install Docker The host
Docker Daemon:
- Running on the Docker Host computer Docker Background processes
Client:
- operation Docker The client of the host ( Command line 、UI etc. )
Registry:
- Mirror warehouse
- Docker Hub
- Mirror warehouse
Images:
- Mirror image , Packaged program with environment , You can start and run directly
Containers:
- Containers , A running program started by the image
Interactive logic
packed Docker, Then go to Software market seek Mirror image , Download and run , see Containers Troubleshooting such as status log .
Actual battle plan
Go to Docker hub, Find the mirror image .
establish & Construct a Java application
Code address :https://gitee.com/zwtgit/dockerdemo
preparation
Incidental :Docker install Redis, Deploy video ,https://www.bilibili.com/video/BV13Q4y1C7hS?p=20
Go to Docker hub, Find the mirror image , There are detailed documents in it .
start-up ,https://hub.docker.com/_/redis
docker run --help
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
#redis Start with a custom profile
docker run -v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
-d --name myredis \
-p 6379:6379 \
redis:latest redis-server /etc/redis/redis.conf
Application packaging
To write Dockerfile Package and mirror your application .
before
Java For example
SpringBoot Package into executable jar
hold jar Upload the package to the service
Server running java -jar
After packaging in the plug-in, you can see jar perhaps war Corresponding package and location , It can be used locally java -jar Command test .
Now?
All machines are equipped with Docker, Any application is a mirror , All machines can run .
I take a taxi here war package .
FROM openjdk:8-jdk-slim
LABEL maintainer=leifengyang
COPY target/*.war /app.war
ENTRYPOINT ["java","-jar","/app.war"]
docker structure , The last dot indicates that you are working in the current directory .
docker build -t java-demo:v1.0 .
Start the container
docker run -d -p 8080:8080 --name mydockerfiletest-app java-demo:v1.0
# Sign in docker hub
docker login
# Name the old image
docker tag java-demo:v1.0 leifengyang/java-demo:v1.0
# Pushed to the docker hub
docker push leifengyang/java-demo:v1.0
# Other machines
docker pull leifengyang/java-demo:v1.0
# Other machines run
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0