macOS上基于Payara/micro:5.2021.9构建Docker镜像遇权限拒绝错误
构建基于Debian发行版的Payara Micro 5.2021.9 Docker镜像
直接用Debian基础镜像替代Alpine版本,以下是完整的Dockerfile实现:
# 使用Debian轻量稳定版作为基础镜像 FROM debian:bullseye-slim # 安装OpenJDK 8(Payara Micro 5.x依赖Java 8)及必要工具 RUN apt-get update && \ apt-get install -y --no-install-recommends openjdk-8-jre-headless wget && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # 设置工作目录 WORKDIR /opt/payara # 下载Payara Micro 5.2021.9官方包(从Maven中央仓库获取) RUN wget -O payara-micro.jar https://repo1.maven.org/maven2/fish/payara/extras/payara-micro/5.2021.9/payara-micro-5.2021.9.jar # 创建非root用户并设置权限,提升容器安全性 RUN useradd -m payara && \ chown -R payara:payara /opt/payara USER payara # 暴露Payara Micro默认端口 EXPOSE 8080 4848 8181 # 设置启动命令,启动Payara Micro CMD ["java", "-jar", "/opt/payara/payara-micro.jar"]
构建与使用说明
- 将上述内容保存为
Dockerfile - 执行构建命令:
docker build -t payara-micro-debian:5.2021.9 . - 启动容器测试:
docker run -p 8080:8080 payara-micro-debian:5.2021.9
关键说明
- 选用
debian:bullseye-slim是因为它轻量且软件源在你的环境下可正常访问,避免Alpine的SSL证书验证问题 - 安装
openjdk-8-jre-headless而非完整JDK,减少镜像体积 - 创建非root用户运行Payara,符合容器安全最佳实践
- 清理APT缓存和临时文件,进一步压缩镜像大小
内容的提问来源于stack exchange,提问作者El_Merendero
相关产品推荐
相关产品推荐

