离线 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"]

posted @ 2026-09-09 09:56  Supper_litt  阅读(4)  评论(0)    收藏  举报