Docker 构建 Jar 镜像

这篇具有很好参考价值的文章主要介绍了Docker 构建 Jar 镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、创建 docker 目录

/usr/local/docker

二、将项目打包上传到目录

# Jar 包
/usr/local/docker/app.jar

# 配置文件
/usr/local/docker/config/application.yml

三、在目录下创建 Dockerfile 文件

FROM openjdk:8-jre

# 将 jar 包添加到容器中 , tar 类型文件会自动解压(网络压缩资源不会被解压) , 可以访问网络资源 , 类似 wget
ADD app.jar /usr/local/app.jar

# 功能和 ADD 相同 , 不会自动解压文件 , 也不能访问网络资源
# COPY ./config/ /usr/local/config

# 配置环境变量
# ENV JAVA_HOME=/usr/local/java/jdk-8
# ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# ENV PATH=$JAVA_HOME/bin:$PATH

# 切换工作目录 , 相当于 cd
WORKDIR /usr/local

# 映射端口
EXPOSE 80

# ENTRYPOINT 或 CMD 只会执行一次 , 会覆盖之前的 ENTRYPOINT 或 CMD 命令
ENTRYPOINT ["java" , "-jar" , "app.jar"]

四、构建镜像

docker build -t app:1.0 .

五、创建并启动容器

docker run --name app -p 80:80 -v ./config/:/usr/local/config -d app:1.0

六、ENTRYPOINT 和 CMD 区别

需求:想追加一个命令 -l , 期望执行 ls -al

1. CMD

docker run 会覆盖 CMD 后面的命令

FROM centos
CMD ["ls","-a"]

此时命令在 docker 启动后自己执行, 我们可以在命令行启动 docker 镜像时, 执行其他命令行参数, 覆盖默认的 CMD

$ docker run demo -l
此时会报错 , '-l' 替换了 'ls -a' 命令 , 没有这个命令导致报错

2. ENTRYPOINT

docker run 不会覆盖 entrypoint 后面的命令,需要使用 --entrypoint 命令覆盖文章来源地址https://www.toymoban.com/news/detail-722352.html

$ docker run --entrypoint demo -l
此时会报错 , '-l' 替换了 'ls -a' 命令 , 没有这个命令导致报错

$ docker run demo -l
成功执行命令 'ls -al' 

到了这里,关于Docker 构建 Jar 镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker 构建指定版本的jdk容器,并用docker部署jar包

    有在Linux系统安装docker的经验, 会使用docker常用命令,能明白构建docker容器参数的含义 将如下内容拷贝 到 Dockerfile ,保存并退出。 我用的jdk安装包是 jdk-8u361-linux-aarch64.tar.gz ,你只需要修改它换成你的jdk安装包 用 docker build 完 jdk镜像 后,用命令 docker inspect 容器id | grep Arc

    2024年02月09日
    浏览(47)
  • 【jenkins】jenkins流水线构建打包jar,生成docker镜像,重启docker服务的过程,在jenkins上一键完成,实现提交代码自动构建的功能

     【jenkins】jenkins流水线构建打包jar,生成docker镜像,重启docker服务的过程,在jenkins上一键完成,实现提交代码自动构建,服务重启,服务发布的功能。一键实现。非常的舒服。 这是 shell脚本  脚本名称: startup.sh   本脚本的功能是在jenkins 构建完项目后,通过jar包生成dock

    2024年02月11日
    浏览(54)
  • SpringBoot项目部署(Docker)——通过Dockerfile将打包好的jar包创建成镜像 & 在IDEA中配置docker,一键启动容器 & 用swagger进行测试

    1.Dockerfile命令初识,CMD…; 2.idea配置docker,图形化界面; 3.编写Dockerfile把jar包制作成镜像,并用idea一键生成和启动容器; 4.在Linux中测试,在宿主机用swagger进行测试; SpringBoot项目部署(jar包)——项目用maven打包成jar包 windows + Linux平台运行 Linux安装java 遇到的问题 Docker是一

    2024年02月05日
    浏览(51)
  • docker 将jar包打成docker镜像

    构建三步骤: 编写Dockerfile文件 docker build 命令构建镜像 docker run 根据镜像运行容器实例 docker官网 不废话,直接上案例,这是本人在公司使用的打镜像方式,与上面的构建步骤略有不同。 以下文件都是在同一个目录文件夹下!!! 1、编写Dockerfile文件,通过Dockerfile文件将j

    2024年02月03日
    浏览(42)
  • docker查看镜像中的jar

    本人在工作中遇到了需要在docker查看jar这种操作,查看了许多资料,终于还是找到了 在docker中查看jar的情况分为两种,一种是使用k8s的情况,一种不使用的情况,下面两种情况都会介绍 查看镜像 查看镜像的名字 内容一般都是 一版jar包都是在UpperDir中 进入到对应的目录中 在

    2024年02月12日
    浏览(34)
  • 【docker使用Jar自定义镜像:基于windows】

    不支持大写,因此改成: 我错误的原因,dockerfile中“ /docker-demo.jar ”忘了改成:“ study_dockerfile-1.0.0.jar ”,修改之后: ##启动镜像 将Dockerfile中改成8082: 无法访问,可见是不可以的。 添加配置文件 config/application.yaml 到 jar 包路径下,在配置文件中重新定义端口 参考文章:

    2024年02月06日
    浏览(40)
  • Docker 将jar包 打包成容器,并挂载jar包和指定yml配置

    1.在 Dockerfile 中指定基础镜像,如 openjdk:8-jdk-alpine。 2.在 Dockerfile 中创建一个工作目录,如 /app。 3.将 jar 包复制到工作目录中,可以使用 COPY 指令。 4.将 yml 配置文件复制到工作目录中,也可以使用 COPY 指令。 5.暴露 jar 包使用的端口,可以使用 EXPOSE 指令。 6.在 Dockerfile 中指

    2024年02月05日
    浏览(48)
  • 把jar包打成docker镜像并推送到Docker Hub

    1、准备需要的jar包并复制到服务器某个目录下 2、在此目录下,创建Dockerfile的文本文件,并将以下内容添加到文件中: 3、把jar包打包成镜像 其中, your-image-name 是镜像名称, 1.0 是版本号, . 表示 Docker 上下文路径,这里假设您在当前目录下。 打完之后查看docker镜像 4、推送

    2024年02月11日
    浏览(31)
  • Docker:使用dockerFile创建镜像(war包和jar包)

    1、使用war包打镜像 (1)在war的当前路径下,新建一个文件——Dockerfile (2)编辑Dockerfile文件    vim Dockerfile Dockerfile文件内容: FROM java:8                # 选择项目中要求的版本 MAINTAINER ylb             # 作者 WORKDIR /穿件文件夹的路径    # 选择项目中要求的

    2024年02月15日
    浏览(44)
  • 怎么进入docker容器获取jar包并下载到本地

    今天公司通过jenkins发布到测试环境的之后,测试小姐姐在测试居然发现功能没有更新上去。查看gitlib看代码有合并,查看jenkins配置的打包的分支也没有错,查看jenkins打包日志也有拉最新代码打包,诡异,于是想去服务器上的docker 镜像拉取jar看看是啥情况。 连接linux服务器的

    2024年02月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包