1.Dockerfile:
FROM node:18-alpine
# 替换 Alpine 软件源为阿里云镜像加速国内下载
RUN echo "https://mirrors.aliyun.com/alpine/v3.18/main" > /etc/apk/repositories && \
echo "https://mirrors.aliyun.com/alpine/v3.18/community" >> /etc/apk/repositories
RUN apk add --no-cache \
bash \
git \
sed
# 配置 npm 使用淘宝镜像源
RUN npm config set registry https://registry.npmmirror.com
WORKDIR /opt
RUN git clone https://gitclone.com/github.com/AiLaunchers/crontab.run.git # 通过镜像加速克隆
WORKDIR /opt/crontab.run
# 替换 src/app/pages.js 中的 crontab.run为Crontab Tools
RUN sed -i 's/2xl\:mb\-6\">crontab\.run/2xl\:mb-6\">Crontab Tools/g' /opt/crontab.run/src/app/page.js
RUN npm install && \
npm run build && \
rm -rf \
/var/cache/apk/* \
/tmp/* \
/root/.npm \
/root/.cache
EXPOSE 3000
CMD ["npm", "start"]
2.构建镜像:
docker build -t crontab.run:1.0.0 .
3.运行容器
docker run --restart=always -d -p 3000:3000 crontab.run:1.0.0
项目地址:https://github.com/AiLaunchers/crontab.run
4.删除多余未使用镜像:
docker system prune -a
5.如果不想更改镜像源可以在 Dockerfile 中配置代理:
ENV HTTP_PROXY=http://your-proxy-server:port
ENV HTTPS_PROXY=http://your-proxy-server:port
PS:
1.生产环境建议使用多阶段构建以获得更小镜像,测试环境使用此简化版即可
2.测试宝塔9.3.0版本直接使用命令创建即可使用