首先是碰到在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