新手向超简单超详细docker启动jar包脚本

脚本

#!/bin/sh
sudo docker rm -f myjar
sudo docker run --name myjar --privileged --net=host --restart on-failure -v /data/html/images/:/data/html/images/ -v /data/jars/:/data/jars/ -v /etc/localtime:/etc/localtime -d docker.io/java:8 /bin/bash -c "java -jar -Duser.timezone=Asia/Shanghai /data/jars/myjar-0.0.1-SNAPSHOT.jar"

拆分解析脚本

rm

sudo docker rm -f myjar
#从docker中删除 名字叫myjar的容器

run

sudo docker run --name myjar
#docker启动容器,指定名字叫myjar

privileged

 --privileged
 #给容器root权限

–net

--net=host
#指定host jar包配置中未用到可以不写

–restart

--restart on-failure 
#容器重启策略--非正常退出下重启 可以指定次数on-failure:3 三次

-v

-v /data/html/images/:/data/html/images/ -v /data/jars/:/data/jars/ -v /etc/localtime:/etc/localtime
#-v 挂载地址 
#/data/html/images/:/data/html/images/ 
# 也就是jar包中图片会下载到/data/html/images/下面 把图片从容器的/data/html/images/地址指定到本机服务器的/data/html/images/地址
#/data/jars/:/data/jars/ 
# 就是jar包所在的目录指定到容器中所在的目录
#/etc/localtime:/etc/localtime
# 指定时间配置

-d

-d docker.io/java:8 /bin/bash
# 指定镜像 也就是 docker images中要有一个叫java 8的镜像

-c

-c "java -jar -Duser.timezone=Asia/Shanghai /data/jars/myjar-0.0.1-SNAPSHOT.jar"
#-c 容器启动后会指执行之后的命令
#-Duser.timezone=Asia/Shanghai 指定时区 
#/data/jars/myjar-0.0.1-SNAPSHOT.jar 挂载的jar包地址

准备

docker images

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 f07dfa83b528        3 weeks ago         448MB
nginx               latest              8cf1bfb43ff5        5 months ago        132MB

可以看到没有java:8这个镜像
执行

docker pull java:8

成功后

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 f07dfa83b528        3 weeks ago         448MB
nginx               latest              8cf1bfb43ff5        5 months ago        132MB
java                8                   d23bdf5b1b1b        3 years ago         643MB

启动

将命令写入
myjarbin.sh

sh myjarbin.sh

常用日志命令

docker logs -f --tail=200 myjar
# 最后两百行 较为常用
docker logs -f myjar
# 所有日志
docker logs -f --tail=200 myjar| grep 当前
# 查询后两百行日志中有 当前 字符的每一行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值