共计 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元/年
正文完
发表至: 瞎折腾
2023-09-29