1、编写自己的应用
编写一个HelloWorld应用
https://start.spring.io/
示例代码: leifengyang/java-demo
2、将应用打包成镜像
编写Dockerfile将自己的应用打包镜像
1、以前
Java为例
- SpringBoot打包成可执行jar
- 把jar包上传给服务
- 服务器运行java -jar
2、现在
所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行
3、怎么打包-Dockerfile(target为idea打包后的文件目录,包含jar包)
FROM openjdk:8-jdk-slim
LABEL maintainer=leifengyang
COPY target/*.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
命令:打包镜像到当前目录
docker build -t java-demo:v1.0 .
3、启动容器
启动应用容器
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
上传镜像到远程仓库
# 登录docker hub
docker login
#给旧镜像起名
docker tag java-demo:v1.0 leifengyang/java-demo:v1.0
# 推送到docker hub
docker push leifengyang/java-demo:v1.0
# 别的机器
docker pull leifengyang/java-demo:v1.0
# 别的机器运行
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
4、部署中间件
部署一个Redis+应用,尝试应用操作Redis产生数据
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
#redis使用自定义配置文件启动
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