docker 文件编写,和jdk11运行java的Dockerfile文件

制作 docker文件

建立 Dockerfile 文件

拷贝jar文件到 新目录下 

FROM openjdk:8
MAINTAINER TsuiChris

COPY *.jar /app.jar

EXPOSE 8080

ENTRYPOINT java   -jar app.jar

 

运行编译,后面一个点 . 代表当前目录。 如果没有:及以后的,代表lastest  TAG

docker build -t=chris:v1  .     

 

运行镜像chris:v1  容器名字为 yunshui,端口暴露80,内部端口8080,顺序不能变,最后为镜像名字,开始为容器名字。

 

docker run --name yunshui  -p 80:8080 -d chris:v1     

 -d: 后台运行容器,并返回容器ID;

 

删除未使用的镜像

docker container prune  

 

#进入运行的容器

docker exec -it 容器id  /bin/bash

#重启容器

docker restart 容器id

 

-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;

 

#docker 的日志

docker logs -f  容器后面的名字

另外在容器id的名字*查找后,有个容器名字id+json.log 的文件,也是容器内部程序的日志。如java的运行打印的sql等。

 

#docker 监控

docker stats

 

docker attach 目前进入后,卡死不动。已过期,用exec代替

############

另一份Dockerfile 文件清单,其中app.jar 文件的ip,如mysql和redis的ip,需要指定为内网ip,不要用locahost或127等。否则连不上。

在tmp文件夹下 建立 Dockerfile 文件,另外此目录下还有清单中的字体文件。

FROM openjdk:11
MAINTAINER Tsui

RUN mkdir -p /root/www/
copy *.jar /root/www/app.jar

RUN mkdir -p /root/www/logs/
RUN mkdir -p /root/www/font/
RUN mkdir -p /root/www/pdf/
copy *.ttf /root/www/font/
copy *.ttc /root/www/font/

EXPOSE 8080

#ENTRYPOINT nohup java
-jar /root/www/app.jar 1>/root/www/logs/access.log 2>/root/www/logs/errors.log # 基本无用,其中日志已定位到容器的json.log文件 ENTRYPOINT java -jar /root/www/app.jar

 

docker build -t=chris:v8 .     // 注意后面有个 小 点。

运行(命令最后是镜像名字,开始name是容器的别名)

docker run  -d --name chris-test -p 80:8080 chris:v8

另附一个启动多个java进程的

Dockerfile

FROM openjdk:11
MAINTAINER Tsui

RUN mkdir -p /root/www/
copy *.jar /root/www/app.jar

RUN mkdir -p /root/www/logs/
RUN mkdir -p /root/www/font/
RUN mkdir -p /root/www/pdf/
copy *.ttf /root/www/font/
copy *.ttc /root/www/font/
copy *.sh start.sh
run chmod +x start.sh

EXPOSE  8090
EXPOSE  8080


ENTRYPOINT ["sh","/start.sh"]

 

start.sh

#!/bin/sh
  
java -jar /root/www/app.jar --server.port=8080  &
java -jar /root/www/app.jar --server.port=8090

~                                                                                                                                                                                                 
~   

 

构建

docker build -t=wh:7 .       // 后面有个 小 点

 运行

docker run -d --name chris -p 80:8080 -p 8090:8090 wh:7

查看运行命令

docker ps -a --no-trunc | grep container_name 

 

posted @ 2022-10-30 21:44  琴声清幽  阅读(1830)  评论(0编辑  收藏  举报