docker 打包部署多個jar包並啓動

1.新建Dockerfile 

FROM java:8
MAINTAINER lyj
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
ADD thedatamanager-authserver-0.0.1-SNAPSHOT.jar /authserver.jar
#RUN chmod +x /authserver.jar
ADD start.sh /start.sh
RUN chmod +x /start.sh
ENTRYPOINT ["sh","-c","./start.sh"]

2.新建start.sh

#!/bin/bash
# 命令後加入 & ,保持程序後臺持續運行
nohup java -jar /authserver.jar --server.port=8899  &
nohup java -jar /authserver.jar --server.port=8888  &
#指定端口java -jar /thedatamanager-authserver-0.0.1-SNAPSHOT.jar --server.port=7104
#nohup java -jar /root/lyjnginx/thedatamanager-authserver-0.0.1-SNAPSHOT.jar > authserver.log 2>&1 &
# 死循環,保持docker前臺運行
while [[ true ]]; do
    sleep 1
done
#或者不用死循環 使用下面的方式
# 命令後加入 & ,保持程序後臺持續運行
#nohup java -jar /app.war --server.port=8085 & 
#java -jar /app.war --server.port=8086

3. 打包

docker build -t lyj2jar:v2 .

4.運行

docker run -d -p 8888:8888 -p 8899:8899 --name lyj2jartest1 lyj2jar:v2

5.查看運行情況

[root@ambari-01 lyjJars]# docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED         STATUS         PORTS                                            NAMES
e1f6a0cfe2a3   lyj2jar:v2        "sh -c ./start.sh"       5 minutes ago   Up 5 minutes   0.0.0.0:8888->8888/tcp, 0.0.0.0:8899->8899/tcp   lyj2jartest1

6.用到的命令

docker ps -a //查看所有啓動過的容器

docker rm 容器名稱/ID //刪除容器

docker rmi 名稱/ID  //刪除鏡像

docker  images //查看所有鏡像

docker stop  containerID/名稱  //停止容器

docker logs --tail -f  804c083f5468  //查看日誌

docker stats  //查看容器內存cpu佔用情況

Docker詳解之EXPOSE  https://blog.csdn.net/u012972836/article/details/83380220

關於docker 內存設置 docker run -m 4g -d --name lyjtest myimage  (https://www.jianshu.com/p/9ca78157514a)

生產環境永遠需要設置-m 

不要輕易設置--oom-kill-disable,memory-swappiness,memory-swap和memory-reservation,因爲一半情況下,你不太容易理解它們真正如何作用於系統。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章