部署服务dockerfile失败小记

首先是碰到在ENTRYPOINT 中添加参数问题,一时懵逼直接添加到最后

ENTRYPOINT ["java","-jar","xx-xx.jar","--spring.profiles.active=${envType}","--add-opens java.base/java.lang=ALL-UNNAMED","--add-opens java.base/java.util=ALL-UNNAMED", "--add-opens java.base/java.nio=ALL-UNNAMED", "--add-opens java.base/sun.nio.ch=ALL-UNNAMED","new parameter"]

导致格式错误,修正过后 根据gpt给的数据再调整了下格式:

ENTRYPOINT ["java",

"-new parameter"

"--add-opens", "java.base/java.lang=ALL-UNNAMED",

"--add-opens", "java.base/java.util=ALL-UNNAMED",

"--add-opens", "java.base/java.nio=ALL-UNNAMED",

"--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED",

"-jar",

"xx-xx.jar",

"--spring.profiles.active=${envType}"]

然后就一直报错Error response from daemon: dockerfile parse error on line 23: unknown instruction: "-new parameter

当时一直没明白,直到搜到:

确保 Dockerfile 的文件编码是 UTF-8,且使用 Unix 风格的换行符(LF)。如果换行符是 Windows 风格(CRLF),可以在 IntelliJ IDEA 中右下角的状态栏更改。

那么可以确定是格式问题,idea修改不能提交git,那就改回原本的格式在编译就ok了

然后还有一个值得注意的事:

在idea上或启动命令行是-D的参数,在dockerfile得是--D

相关推荐
叫致寒吧23 分钟前
K8S 概念
云原生·容器·kubernetes
羊羊羊i24 分钟前
通过Crossplane使用K8sYAML格式的API接口,创建虚拟云资源,同时利用ArgoCD达到GitOps效果
容器·kubernetes·argocd
我是koten2 小时前
K8s启动pod失败,日志报非法的Jar包排查思路(Invalid or corrupt jarfile /app/xxxx,jar)
java·docker·容器·kubernetes·bash·jar·shell
tzhou644522 小时前
云原生与K8S入门
云原生·容器·kubernetes
小猿姐2 天前
从 0 到 1 构建领先 DBaaS 平台:移动云架构师丁顺的 KubeBlocks 实践之路
云原生·kubernetes·dba
2201_761199042 天前
7.statefulset
开发语言·kubernetes·php
一条闲鱼_mytube2 天前
CI/CD: TektonCI 深入浅出教程
容器·kubernetes·tekton
记得开心一点嘛2 天前
k8s部署微服务项目
微服务·容器·kubernetes
北欧人写代码2 天前
K8s 限制节点内存使用率,内存不足时自动驱逐POD
云原生·容器·kubernetes