新建一个目录,目录下存放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来查看就能看到了。
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?