现在已经有几个准备好的Jar包,部署到一个容器中。
1、dockerfile
FROM openjdk:12
MAINTAINER ZHH
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
COPY EurekaServer-0.0.1-SNAPSHOT.jar /data/code/EurekaServer-0.0.1-SNAPSHOT.jar
COPY StockCodePool-0.0.1-SNAPSHOT.jar /data/code/StockCodePool-0.0.1-SNAPSHOT.jar
COPY RealtimeBidService-0.0.1-SNAPSHOT.jar /data/code/RealtimeBidService-0.0.1-SNAPSHOT.jar
COPY Lhb_Service-0.0.1-SNAPSHOT.jar /data/code/Lhb_Service-0.0.1-SNAPSHOT.jar
COPY start.sh /usr/bin/start.sh
RUN chmod +x /usr/bin/start.sh
#CMD nohup sh -c "start.sh && java -jar /data/code/EurekaServer-0.0.1-SNAPSHOT.jar --spring.config.location=/config/application.yml > /data/log/eurake.log 2>&1 &"
CMD nohup sh -c "start.sh && java -jar /data/code/EurekaServer-0.0.1-SNAPSHOT.jar > /data/log/eurake.log 2>&1"
2、start.sh
#! /bin/bash
# 命令后加入 & ,保持程序后台持续运行
#nohup java -jar /data/code/EurekaServer-0.0.1-SNAPSHOT.jar > /data/log/eurake.log 2>&1 &
nohup java -jar -Duser.timezone=GMT+08 /data/code/StockCodePool-0.0.1-SNAPSHOT.jar > /data/log/stockcode.log 2>&1 &
nohup java -jar -Duser.timezone=GMT+08 /data/code/RealtimeBidService-0.0.1-SNAPSHOT.jar > /data/log/realtimebid.log 2>&1 &
nohup java -jar -Duser.timezone=GMT+08 /data/code/Lhb_Service-0.0.1-SNAPSHOT.jar > /data/log/longhubang.log 2>&1 &
nohup java -jar -Duser.timezone=GMT+08 /data/code/Zhangting-0.0.1-SNAPSHOT.jar > /data/log/zhangting.log 2>&1 &
3、 检查换行符为Unix的LF换行符
cat -A Dockerfile
cat -A start.sh
如果每行以$美元符号结尾,是Unix的LF换行符
如果每行以^M$符号结尾,是Windows的CRLF换行符
notepad++的编辑,可进行修改
也可以在IDEA修改
4、构建镜像
docker build -t xxx .
5、启动容器
docker run -d --name xxx -p 8761:8761 -p 8001:8001 -p 8004:8004 -p 8010:8010 -v /volume1/docker/Stockdata/code:/data/code -v /volume1/docker/Stockdata/log/:/data/log xxx:latest