+
50
-

如何使用Dockerfile打包镜像?

如何使用Dockerfile打包镜像?

网友回复

+
0
-

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

800_auto

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来查看就能看到了。

我知道答案,我要回答