离线 Dockerfile镜像
通过现有的DockerDesk制作镜像,然后导出镜像,提供到其他服务使用。
新建一个文件夹,创建一个文件Dockerfile,然后编辑
FROM nginx:alpine
# 复制你的自定义 nginx 配置文件
COPY nginx.conf /etc/nginx/nginx.conf
# 复制静态网页文件
COPY dist /usr/share/nginx/html
EXPOSE 80
保存上面内容到Dockerfile然后。站点文件夹 dist,自定义的nginx文件, nginx.conf
文件夹下面执行命令:docker build -t mysite:1.0 .
会再DockerDesk生成一个新的镜像,
导出镜像:
docker save -o F:\mysite-1.0.tar mysite:1.0
然后就可以导出使用了。
还可以部署多种环境
参考:打包jar到jdk环境,用于发布jar站点
FROM openjdk:8-jre-alpine
ENV TZ=Asia/Shanghai
RUN apk add --no-cache tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 安装中文字体(Alpine 可用包)
RUN apk add --no-cache \
fontconfig \
ttf-dejavu \
ttf-freefont \
wqy-zenhei
WORKDIR /app
COPY test-1.0.jar app.jar
EXPOSE 8001
# JVM 参数优化(1.5G 堆 + G1GC)
ENTRYPOINT ["java", \
"-Xmx1536m", \
"-Xms1536m", \
"-XX:+UseG1GC", \
"-XX:MaxGCPauseMillis=200", \
"-jar", "app.jar", \
"--server.port=8001"]
打包 netcore 6.0 生成镜像:
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
# 安装 libgdiplus(如果需要处理图像)
RUN apt-get update -y && \
apt-get install -y libgdiplus && \
apt-get clean && \
ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll
# 设置时区
RUN rm -f /etc/localtime && \
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 复制所有发布文件到 /app
COPY dist /app
# 暴露端口(根据需要调整)
EXPOSE 80
EXPOSE 443
# 启动应用
ENTRYPOINT ["dotnet", "Api.dll"]

浙公网安备 33010602011771号