新建一个目录,目录下存放Dockfile及相关文件,我们以nginx为例,

Dockfile文件内容如下:
FROM nginx MAINTAINER BFW ADD html.tar.gz /usr/share/nginx/html ADD conf.tar.gz /etc/nginx EXPOSE 80 ENTRYPOINT nginx -g "daemon off;"
文件解释:
FROM nginx:这条指令设置了该Dockerfile的基础镜像为官方的nginx镜像。Nginx是一个高性能的HTTP和反向代理服务器,这意味着您将从一个预先配置好的、可运行nginx服务器的镜像开始构建您的自定义镜像。
MAINTAINER BFW:MAINTAINER指令用于声明镜像的作者或维护者的信息,此处作者名称为BFW。请注意,这个指令已经被官方弃用,更推荐使用LABEL指令替代来添加元数据。
ADD html.tar.gz /usr/share/nginx/html:ADD指令将本地的html.tar.gz压缩包添加到镜像中的/usr/share/nginx/html目录,并自动解压。如果该目录不存在,Docker会自动创建。通常这个目录是nginx服务器托管静态文件的位置。
ADD conf.tar.gz /etc/nginx:这条指令的作用和上一条相似,它将本地的conf.tar.gz配置文件压缩包添加并解压到了镜像中nginx的配置文件目录/etc/nginx。通常用于自定义nginx服务器的配置。
EXPOSE 80:EXPOSE指示Docker镜像预期会在运行时监听的端口,在这里是80端口。它是HTTP服务的标准端口。虽然EXPOSE不会让容器端口自动对外开放,但它对于人或脚本阅读Dockerfile是一个有用的声明。
ENTRYPOINT nginx -g "daemon off;":ENTRYPOINT指定容器启动时执行的命令。在这个例子中,ENTRYPOINT被设置为启动nginx并以前台模式运行(daemon off;)。通常nginx在后台作为守护进程运行,但当运行在Docker容器中时,您希望nginx保持在前台运行,这样当nginx主进程被停止时,容器也会停止。
最后在当前目录下运行命令后镜像就构建好了。docker build -t mynginx:v1.0 -f Dockerfile .通过docker images来查看就能看到了。
网友回复
有没有免费让ai自动帮你接管操作电脑的mcp服务?
mcp为啥用Streamable HTTP 替代 HTTP + SSE?
scratchjr有没有开源的前端html网页版本源代码?
多模态大模型能否根据ui交互视频来来模仿写出前端交互动画效果ui代码?
如何用阿里云oss+函数计算fc+事件总线EventBridge+消息队列+数据库+redis缓存打造一个高并发弹性系统?
阿里云函数计算 FC如何在海外节点搭建一个代理网络?
ai studio中gemini build的代码如何发布到github pages等免费网页托管上 ?
如何在cursor、qoder、trae中使用Claude Skills功能?
有没有不用u盘就能重装系统的开源工具?
python如何固定摄像头实时计算停车场停车位剩余数量?


