简单记录一下,谨防忘记。脚本只是雏形,有待完善
目录结构:
application.yml 公共配置文件:
DB_URL: 192.168.3.21
DB_PORT: 3306
DB_USERNAME: root
DB_PASSWORD: mysql@2025
DB_NAME: saas
REDIS_HOST: 192.168.3.21
REDIS_PORT: 6379
REDIS_PASSWORD: redis@2025
NACOS_HOST: 192.168.3.21
NACOS_PORT: 8848
MINIO_ENDPOINT: 192.168.3.21
MINIO_PORT: 9090
MINIO_ACCESS_KEY: admin
MINIO_SECRET_KEY: 12345678
MINIO_BUCKET: ias
ROCKETMQ_HOST: 192.168.3.21
ROCKETMQ_PORT: 9876
#IAS
SERVER_PORT: 8443
Dockerfile 文件:
FROM openjdk:8
MAINTAINER levi
ARG JAVA_OPTS
# 设置工作目录
WORKDIR /app
# 将 Spring Boot 的 jar 包复制到容器中
COPY ./jar/myapp.jar /app/app.jar
ENV JVM_OPTS="-XX:+UseG1GC -Xms512m -Xmx512m -Xmn256m"
# 暴露应用的端口号(例如 8080)
#EXPOSE 8443
#ENTRYPOINT exec java $JAVA_OPTS -jar ./app.jar
CMD ["sh", "-c", "java -jar ${JVM_OPTS} /app/app.jar"]
# 启动 Spring Boot 应用
#ENTRYPOINT ["java", "-jar", "/app/app.jar"]
```
FROM openjdk:8
MAINTAINER levi
ARG JAR_NAME
# 设置工作目录
WORKDIR /app
ENV JVM_OPTS="-XX:+UseG1GC -Xms512m -Xmx512m -Xmn256m"
ENV APP_NAME ${JAR_NAME}
# 将 Spring Boot 的 jar 包复制到容器中
COPY ./jar/${APP_NAME} /app/app.jar
# 暴露应用的端口号(例如 8080)
#EXPOSE 8443
#ENTRYPOINT exec java $JAVA_OPTS -jar ./app.jar
CMD ["sh", "-c", "java -jar ${JVM_OPTS} /app/app.jar"]
# 启动 Spring Boot 应用
#ENTRYPOINT ["java", "-jar", "/app/app.jar"]
```
docker-compose.yml 文件:
#version: '3.8'
services:
app1:
build:
context: .
dockerfile: ./app1/Dockerfile
image: app1:1.0.0
ports:
- "8443:8443"
volumes:
- ./config/app1/application.yml:/app/config/application.yml
container_name: app1
restart: always
app2:
build:
context: .
dockerfile: ./app2/Dockerfile
ports:
- "8090:8090"
volumes:
- ./config/app2/application.yml:/app/config/application.yml
container_name: app2
restart: always
app3:
build:
args:
- JAR_NAME=app3.jar
context: .
dockerfile: ./app3/Dockerfile
ports:
- "8200:8200"
volumes:
- ./config/app3/application.yml:/app/config/application.yml
container_name: app3
restart: always
app4:
build:
args:
- JAR_NAME=app4.jar
context: .
dockerfile: ./app3/Dockerfile
ports:
- "8202:8202"
volumes:
- ./config/app4/application.yml:/app/config/application.yml
container_name: app4
restart: always
执行docker compose up -d,起飞啦