Docker 运行jar包

2021-12-03  本文已影响0人  夜空最亮的9星

由于公司的服务器没有外网,所有需要从外网下载docker 镜像,然后导入到服务器上

<!--拉取镜像-->
 docker pull loblaw/java8:latest
 
 <!-- 保存镜像到本地-->
docker save -o java8.tar loblaw/java8:latest loblaw/java8:latest

<!--在服务器上导入镜像-->
docker load --input java8.tar

编辑Dockerfile

vi Dockerfile

# 拉取java8的镜像
FROM  loblaw/java8:latest

# maintainer  作者是bingo
MAINTAINER bingo

# 拷贝jar包并重命名为demo.jar
ADD demo-0.0.1-SNAPSHOT.jar demo.jar

#  expose  该容器暴露的端口是多少,就是jar在容器中以多少端口运行
EXPOSE 8080

# entrypoint 容器启动之后执行的命令,java -jar demo.jar  即启动jar
ENTRYPOINT ["java","-jar","demo.jar"]

构建镜像:

docker build -t web_app:v1 .
-t 指定镜像名称,
注意最后的 .  表示 Dockerfile 文件在当前目录下

运行容器:

docker run -d --name demo -p 8080:8080 web_app:v1

设置自动重启

docker run -d --restart=always --name demo -p 8080:8080  web_app:v1

这个表示docker容器在停止或服务器开机之后会自动重新启动 --restart=always

然后docker ps 看看你的容器有没有在运行即可

查看启动日志

  docker logs --tail  300 -f  demo  查看启动日志 

update

如果docker run 的时候没有加 --restart=always ,然后已经运行的docker容器怎么设置自动重启? 执行下面命令:

docker update –-restart=always 容器名称 

官方连接

导出容器 https://docs.docker.com/engine/reference/commandline/save

导入容器 https://docs.docker.com/engine/reference/commandline/load/

上一篇下一篇

猜你喜欢

热点阅读