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 .
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
最新文章
- 高阶c++
- 在Android应用中使用OpenGL
- 如何将NetBeans转换为英文版(图)
- 【Express】路由
- POJ 2044 Weather Forecast
- PV操作——生产者和消费者
- Nodejs使用redis
- 设计模式之“Decorator”注疏#02
- 在IIS托管服务中设置Rewrite重定向到webapi接口
- [20181219]script使用小技巧.txt
- HOJ3237----BFS/DFS
- (原创)Python文件与文件系统系列(1)—— file 对象
- How to remove live visual tree?
- Data - 数据思维
- 2017.12.21-JQuery
- json和java bean的相互转换(使用fastjson)
- oracle错误分析:ora-04063:view view_test has errors
- 如何让4年前的电脑装win10开机跑进15秒
- 利尔达CC3200模块第一篇之-wlan_ap例程测试
- 详解 RPL、DPL、CPL 的关系
热门文章
- 如何调用别人的接口(包含get请求post请求)
- sqlserver 循环插入脚本
- 【PyCharm】配置 Git
- Ubuntu系统安装搜狗拼音输入法
- Property or method ";scope"; is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components
- 如何使用源码编译安装Nginx服务器
- Linux 部署apache2.4
- wget 和 curl的区别
- python_异常处理(try except)
- JDK-11.0.17 + Neo4j-4.4.12