当前位置: 首页 > news >正文

无极分期网站智能建站

无极分期网站,智能建站,重庆网站推广策划方案,wordpress问题插件文章目录 1.问题描述2.问题分析3.问题解决 1.问题描述 此时处在 /home/ubuntu/app 目录下,并且在该目录下有一个 jenkins-0.0.1-SNAPSHOT.jar。 我在 /home/ubuntu/app 目录下执行了 docker 容器运行命令: # 映射 8859 端口 # 容器名为 jenkins-demo #…

文章目录

  • 1.问题描述
  • 2.问题分析
  • 3.问题解决

1.问题描述

此时处在 /home/ubuntu/app 目录下,并且在该目录下有一个 jenkins-0.0.1-SNAPSHOT.jar。

image-20231018182036352

我在 /home/ubuntu/app 目录下执行了 docker 容器运行命令:

# 映射 8859 端口
# 容器名为 jenkins-demo
# 将 jenkins-0.0.1-SNAPSHOT.jar 复制到容器内的 /app.jar
# 以 jdk11 为容器镜像
# 执行命令 java -jar /app.jar 运行 java 程序
docker run -dp 8859:8859 \
--name jenkins-demo \
-v jenkins-0.0.1-SNAPSHOT.jar:/app.jar \
openjdk:11 \
java -jar /app.jar

但遗憾的是,当我执行命令后,并没有运行起来。

image-20231018182646207

2.问题分析

我们先查看一下日志:

image-20231018182729759

提示错误信息:Error: Invalid or corrupt jarfile /app.jar

该错误表示的是 jar 文件无效或损坏,于是我开始考虑是不是 -v 挂载有问题。

于是我使用 docker inspect jenkins-demo 查看该容器信息,特别是挂载情况。然后查看 Mounts 下的信息:

image-20231018185125451

我发现 jenkins-0.0.1-SNAPSHOT.jar 成了数据卷名称,/app.jar 是容器内的目录。

这时候我才突然想起来,如果在 -v 时直接写个名称,那么 docker 会将它识别为是一个数据卷名称而不是本地文件或目录名。

🚩 即:本地目录或文件必须以 /./ 开头,如果直接以名字开头,会被识别为数据卷名而非本地目录名。例如:

# 会被识别为一个数据卷叫mysql,运行时会自动创建这个数据卷
-v mysql:/var/lib/mysql# 会被识别为当前目录下的mysql目录,运行时如果不存在会创建目录
-v ./mysql:/var/lib/mysql

3.问题解决

我们可以将之前的 docker run 命令修改为以下两种方式:

  • 绝对路径方式

    docker run -dp 8859:8859 \
    --name jenkins-demo \
    -v /home/ubuntu/app/jenkins-0.0.1-SNAPSHOT.jar:/app.jar \
    openjdk:11 \
    java -jar /app.jar
    
  • 相对路径方式

    # 需要保存当前执行命令所在位置是在 /home/ubuntu/app 目录下,因为我将 jenkins-0.0.1-SNAPSHOT.jar 就是放在了此目录下
    docker run -dp 8859:8859 \
    --name jenkins-demo \
    -v ./jenkins-0.0.1-SNAPSHOT.jar:/app.jar \
    openjdk:11 \
    java -jar /app.jar
    

这时候我们再使用 docker inspect jenkins-demo 查看数据卷挂载情况和我们希望的一样了:

image-20231018190925962

最后,还有一点可以注意,在指定 容器内路径 时必须使用绝对路径,即如果如下写法:

# -v 挂载时将 /app.jar 修改为 app.jar
docker run -dp 8859:8859 \
--name jenkins-demo \
-v ./jenkins-0.0.1-SNAPSHOT.jar:app.jar \
openjdk:11 \
java -jar /app.jar

image-20231018190152097

会报错:invalid mount config for type “bind”: invalid mount path: ‘app.jar’ mount path must be absolute.

http://www.jinmujx.cn/news/111299.html

相关文章:

  • 做软件开发的哪个招聘网站比较靠谱百度引擎搜索网址
  • 网站vps无法登陆公司网站设计图
  • 搭建企业资料网站免费建自己的网址
  • wordpress个人展示网站6苏州seo
  • 商务网站建设流程200字网页设计主题参考
  • 淘宝哪些做网站关键词排名的有用吗湖南正规关键词优化报价
  • 直销公司排行榜关键词排名优化软件价格
  • 有关网站建设的毕业设计seo策略有哪些
  • 网站免费源码大全无用下载无锡网站优化公司
  • 建好的网站怎么用网站设计平台
  • 网站上推广游戏怎么做网站优化效果
  • 便宜建站空间百度云网盘资源链接
  • 如何做百度网站推广常见的网络直接营销有哪些
  • 最新网站建设软件有哪些最稳定的灰色词排名
  • 网站建设与运营的预算方案外链服务
  • 2013影响网站百度搜索排名的关键因素统计seo流量的提升的软件
  • 漳州 网站建设多少钱做网站seo推广公司
  • 网站续费 多久广州百度seo优化排名
  • 网络维护公司排名一键优化清理
  • 做网站基本今天的新闻头条最新消息
  • 新手如何建设网站软文案例400字
  • 凡科网站自己如何做网络推广的细节
  • 做网站没有成本费用如何做账免费推广工具
  • 咸宁市住房和城乡建设委员会网站软文范文
  • 厦门做网站公司有哪些附近电脑培训学校
  • 网站建设流程是这样的 里面有很怎么开网站
  • seo是什么专业网站seo工具
  • 西安便宜网站建设外贸网站推广怎么做
  • 做食品网站搜索引擎关键词优化有哪些技巧
  • 做一个动态网站多少钱怎么制作网站链接