1、安装docker和docker compose插件
2、准备docker-compose-dev.yml文件
version: '3.8'
services:
learn-redis:
container_name: learn-java-redis
image: learn-redis
build:
context: ./redis
ports:
- "16379:6379"
volumes:
- ./redis/conf/redis.conf:/home/redis/redis.conf
- redis_data:/home/redis
command: redis-server /home/redis/redis.conf
learn-java:
container_name: learn-java
image: learn/learn-java:latest
restart: always
ports:
- "18088:8088"
entrypoint:
java -Dspring.profiles.active=druid,prod -jar learn-java.jar
depends_on:
- learn-redis
links:
- learn-redis
volumes:
redis_data:
若使用jar包进行更新服务,须配置build
build:
context: ./fishing/simulation
dockerfile: Dockerfile
替换image即可
3、准备Dockerfile
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER Spark
# 挂载目录
VOLUME /home/learn
# 创建目录
RUN mkdir -p /home/learn
# 指定路径
WORKDIR /home/learn
# 复制jar文件到路径
COPY ./jar/learn-java.jar /home/learn/learn-java.jar
4、命令
//启动所有服务
sudo docker compose -f docker-compose-prod.yml up -d
//停止服务
sudo docker compose -f docker-compose-prod.yml stop learn-java
//删除服务
udo docker compose -f docker-compose-prod.yml rm learn-java
//编译jar包并重启服务
sudo docker compose -f docker-compose-prod.yml up -d --build learn-java
5、注意事项:
1.目出现 max depth exceeded时,执行以下代码
docker system prune -a
2.服务更新时jar没有更新,是 =>CACHED的,需要stop,rm, --build