蓝易云

Docker 制作 nginx-node 镜像

548次阅读
没有评论

共计 1085 个字符,预计需要花费 3 分钟才能阅读完成。

最近准备给 transfer.zip 项目制作一个 dockerfile,把两个项目打包到一个 docker 镜像,并强制使用 https,因为它的使用必须 https 环境,当然这是后话。

根据两个项目的 dockerfile 得知,一个是静态前端页面,需要 nginx,另外一个需要 node 环境,所以需要先将 nginx-node 的镜像给弄出来。

这里提供两个 dockerfile,其中有一个版本是 alpine 基础镜像,整体打包出来的镜像会小很多。

普通版本的 dockerfile:

FROM nginx

# 安装必要的软件包并清理缓存
RUN apt-get update && \
    apt-get install -y --no-install-recommends ca-certificates curl gnupg && \
    rm -rf /var/lib/apt/lists/*

# 下载并导入 Nodesource GPG 密钥
RUN mkdir -p /etc/apt/keyrings && \
    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

# 创建 deb 仓库
ARG NODE_MAJOR=20
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" > /etc/apt/sources.list.d/nodesource.list

# 更新软件包并安装 Node.js,然后清理缓存
RUN apt-get update && \
    apt-get install -y --no-install-recommends nodejs && \
    rm -rf /var/lib/apt/lists/*

EXPOSE 80 443

CMD ["nginx", "-g", "daemon off;"]

制作的镜像已推送到 dockerhub,地址是 hausen1012/nginx-node,有需要可以自行拉取。

alpine 版本的 dockerfile:

FROM nginx:alpine

# 安装 Node.js
RUN apk update && \
    apk add --no-cache nodejs npm

EXPOSE 80 443

CMD ["nginx", "-g", "daemon off;"]

镜像已推送到也已经推送,地址是 hausen1012/nginx-node:alpine

提醒:本文发布于418天前,文中所关联的信息可能已发生改变,请知悉!

AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完
 0
阿蛮君
版权声明:本站原创文章,由 阿蛮君 于2023-09-29发表,共计1085字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
Copyright © 2022-2024 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 蓝易云CDN 提供安全防护和加速服务
Powered by Wordpress  Theme by Puock